import com.vaadin.data.util.sqlcontainer.query.OrderBy;
import com.vaadin.data.util.sqlcontainer.query.TableQuery;
+import static org.junit.Assert.assertTrue;
+
public class SQLContainerTableQueryTest {
private static final int offset = SQLTestsConstants.offset;
private static final String createGarbage = SQLTestsConstants.createGarbage;
private JDBCConnectionPool connectionPool;
+ private TableQuery peopleQuery;
+ private SQLContainer peopleContainer;
@Before
public void setUp() throws SQLException {
}
DataGenerator.addPeopleToDatabase(connectionPool);
+
+ peopleQuery = new TableQuery("people", connectionPool,
+ SQLTestsConstants.sqlGen);
+ peopleContainer = new SQLContainer(peopleQuery);
}
@After
}
}
+ @Test
+ public void itemWithExistingVersionColumnIsRemoved()
+ throws SQLException {
+ peopleContainer.setAutoCommit(true);
+ peopleQuery.setVersionColumn("ID");
+
+ assertTrue(peopleContainer.removeItem(peopleContainer.lastItemId()));
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void itemWithNonExistingVersionColumnCannotBeRemoved() throws SQLException {
+ peopleQuery.setVersionColumn("version");
+
+ peopleContainer.removeItem(peopleContainer.lastItemId());
+
+ peopleContainer.commit();
+ }
+
@Test
public void constructor_withTableQuery_shouldSucceed() throws SQLException {
new SQLContainer(new TableQuery("people", connectionPool,
throws SQLException {
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
- Assert.assertTrue(container.containsId(new RowId(
- new Object[] { 1 + offset })));
+ assertTrue(container.containsId(new RowId(
+ new Object[]{1 + offset})));
}
@Test
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
if (SQLTestsConstants.db == DB.ORACLE) {
- Assert.assertTrue(container.isFirstId(new RowId(
- new Object[] { new BigDecimal(0 + offset) })));
+ assertTrue(container.isFirstId(new RowId(
+ new Object[]{new BigDecimal(0 + offset)})));
} else {
- Assert.assertTrue(container.isFirstId(new RowId(
- new Object[] { 0 + offset })));
+ assertTrue(container.isFirstId(new RowId(
+ new Object[]{0 + offset})));
}
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
if (SQLTestsConstants.db == DB.ORACLE) {
- Assert.assertTrue(container.isLastId(new RowId(
- new Object[] { new BigDecimal(3 + offset) })));
+ assertTrue(container.isLastId(new RowId(
+ new Object[]{new BigDecimal(3 + offset)})));
} else {
- Assert.assertTrue(container.isLastId(new RowId(
- new Object[] { 3 + offset })));
+ assertTrue(container.isLastId(new RowId(
+ new Object[]{3 + offset})));
}
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
if (SQLTestsConstants.db == DB.ORACLE) {
- Assert.assertTrue(container.isLastId(new RowId(
- new Object[] { new BigDecimal(4999 + offset) })));
+ assertTrue(container.isLastId(new RowId(
+ new Object[]{new BigDecimal(4999 + offset)})));
} else {
- Assert.assertTrue(container.isLastId(new RowId(
- new Object[] { 4999 + offset })));
+ assertTrue(container.isLastId(new RowId(
+ new Object[]{4999 + offset})));
}
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
for (int i = 0; i < 5000; i++) {
- Assert.assertTrue(container.containsId(container.getIdByIndex(i)));
+ assertTrue(container.containsId(container.getIdByIndex(i)));
}
}
connectionPool, SQLTestsConstants.sqlGen));
container.setAutoCommit(true);
for (int i = 0; i < 5000; i++) {
- Assert.assertTrue(container.containsId(container.getIdByIndex(i)));
+ assertTrue(container.containsId(container.getIdByIndex(i)));
}
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
container.setAutoCommit(true);
- Assert.assertTrue(container.isAutoCommit());
+ assertTrue(container.isAutoCommit());
container.setAutoCommit(false);
Assert.assertFalse(container.isAutoCommit());
}
container.setAutoCommit(true);
Object itemId = container.addItem();
Assert.assertNotNull(itemId);
- Assert.assertTrue(itemId instanceof RowId);
+ assertTrue(itemId instanceof RowId);
Assert.assertFalse(itemId instanceof TemporaryRowId);
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.addItem();
- Assert.assertTrue(container.getItemIds().contains(id));
+ assertTrue(container.getItemIds().contains(id));
}
@Test
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.addItem();
- Assert.assertTrue(container.containsId(id));
+ assertTrue(container.containsId(id));
}
@Test
SQLContainer container = new SQLContainer(new TableQuery("garbage",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.addItem();
- Assert.assertTrue(container.isFirstId(id));
+ assertTrue(container.isFirstId(id));
}
@Test
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.addItem();
- Assert.assertTrue(container.isLastId(id));
+ assertTrue(container.isLastId(id));
}
@Test
connectionPool, SQLTestsConstants.sqlGen));
container.addItem();
Object id2 = container.addItem();
- Assert.assertTrue(container.isLastId(id2));
+ assertTrue(container.isLastId(id2));
}
@Test
connectionPool, SQLTestsConstants.sqlGen));
int size = container.size();
Object id = container.firstItemId();
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.removeItem(id));
Assert.assertNotSame(id, container.firstItemId());
Assert.assertEquals(size - 1, container.size());
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.firstItemId();
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.removeItem(id));
Assert.assertFalse(container.containsId(id));
}
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.addItem();
int size = container.size();
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.removeItem(id));
Assert.assertFalse(container.containsId(id));
Assert.assertEquals(size - 1, container.size());
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.firstItemId();
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.removeItem(id));
Assert.assertNull(container.getItem(id));
}
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.addItem();
Assert.assertNotNull(container.getItem(id));
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.removeItem(id));
Assert.assertNull(container.getItem(id));
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.firstItemId();
- Assert.assertTrue(container.getItemIds().contains(id));
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.getItemIds().contains(id));
+ assertTrue(container.removeItem(id));
Assert.assertFalse(container.getItemIds().contains(id));
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.addItem();
- Assert.assertTrue(container.getItemIds().contains(id));
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.getItemIds().contains(id));
+ assertTrue(container.removeItem(id));
Assert.assertFalse(container.getItemIds().contains(id));
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.firstItemId();
- Assert.assertTrue(container.containsId(id));
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.containsId(id));
+ assertTrue(container.removeItem(id));
Assert.assertFalse(container.containsId(id));
}
SQLTestsConstants.sqlGen);
SQLContainer container = new SQLContainer(query);
Object id = container.addItem();
- Assert.assertTrue(container.containsId(id));
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.containsId(id));
+ assertTrue(container.removeItem(id));
Assert.assertFalse(container.containsId(id));
}
Object first = container.getIdByIndex(0);
Object second = container.getIdByIndex(1);
Object third = container.getIdByIndex(2);
- Assert.assertTrue(container.removeItem(second));
+ assertTrue(container.removeItem(second));
Assert.assertEquals(third, container.nextItemId(first));
}
Object first = container.lastItemId();
Object second = container.addItem();
Object third = container.addItem();
- Assert.assertTrue(container.removeItem(second));
+ assertTrue(container.removeItem(second));
Assert.assertEquals(third, container.nextItemId(first));
}
Object first = container.getIdByIndex(0);
Object second = container.getIdByIndex(1);
Object third = container.getIdByIndex(2);
- Assert.assertTrue(container.removeItem(second));
+ assertTrue(container.removeItem(second));
Assert.assertEquals(first, container.prevItemId(third));
}
Object first = container.lastItemId();
Object second = container.addItem();
Object third = container.addItem();
- Assert.assertTrue(container.removeItem(second));
+ assertTrue(container.removeItem(second));
Assert.assertEquals(first, container.prevItemId(third));
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object first = container.firstItemId();
- Assert.assertTrue(container.removeItem(first));
+ assertTrue(container.removeItem(first));
Assert.assertNotSame(first, container.firstItemId());
}
Object first = container.addItem();
Object second = container.addItem();
Assert.assertSame(first, container.firstItemId());
- Assert.assertTrue(container.removeItem(first));
+ assertTrue(container.removeItem(first));
Assert.assertSame(second, container.firstItemId());
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object last = container.lastItemId();
- Assert.assertTrue(container.removeItem(last));
+ assertTrue(container.removeItem(last));
Assert.assertNotSame(last, container.lastItemId());
}
connectionPool, SQLTestsConstants.sqlGen));
Object last = container.addItem();
Assert.assertSame(last, container.lastItemId());
- Assert.assertTrue(container.removeItem(last));
+ assertTrue(container.removeItem(last));
Assert.assertNotSame(last, container.lastItemId());
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object first = container.firstItemId();
- Assert.assertTrue(container.removeItem(first));
+ assertTrue(container.removeItem(first));
Assert.assertFalse(container.isFirstId(first));
}
Object first = container.addItem();
container.addItem();
Assert.assertSame(first, container.firstItemId());
- Assert.assertTrue(container.removeItem(first));
+ assertTrue(container.removeItem(first));
Assert.assertFalse(container.isFirstId(first));
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object last = container.lastItemId();
- Assert.assertTrue(container.removeItem(last));
+ assertTrue(container.removeItem(last));
Assert.assertFalse(container.isLastId(last));
}
connectionPool, SQLTestsConstants.sqlGen));
Object last = container.addItem();
Assert.assertSame(last, container.lastItemId());
- Assert.assertTrue(container.removeItem(last));
+ assertTrue(container.removeItem(last));
Assert.assertFalse(container.isLastId(last));
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.getIdByIndex(2);
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.removeItem(id));
Assert.assertEquals(-1, container.indexOfId(id));
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.addItem();
- Assert.assertTrue(container.indexOfId(id) != -1);
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.indexOfId(id) != -1);
+ assertTrue(container.removeItem(id));
Assert.assertEquals(-1, container.indexOfId(id));
}
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Object id = container.getIdByIndex(2);
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.removeItem(id));
Assert.assertNotSame(id, container.getIdByIndex(2));
}
Object id = container.addItem();
container.addItem();
int index = container.indexOfId(id);
- Assert.assertTrue(container.removeItem(id));
+ assertTrue(container.removeItem(id));
Assert.assertNotSame(id, container.getIdByIndex(index));
}
public void removeAllItems_table_shouldSucceed() throws SQLException {
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
- Assert.assertTrue(container.removeAllItems());
+ assertTrue(container.removeAllItems());
Assert.assertEquals(0, container.size());
}
connectionPool, SQLTestsConstants.sqlGen));
container.addItem();
container.addItem();
- Assert.assertTrue(container.removeAllItems());
+ assertTrue(container.removeAllItems());
Assert.assertEquals(0, container.size());
}
SQLContainer container = new SQLContainer(query);
Object id = container.addItem();
container.getContainerProperty(id, "NAME").setValue("New Name");
- Assert.assertTrue(id instanceof TemporaryRowId);
+ assertTrue(id instanceof TemporaryRowId);
Assert.assertSame(id, container.lastItemId());
container.commit();
Assert.assertFalse(container.lastItemId() instanceof TemporaryRowId);
Object id2 = container.addItem();
container.getContainerProperty(id, "NAME").setValue("Herbert");
container.getContainerProperty(id2, "NAME").setValue("Larry");
- Assert.assertTrue(id2 instanceof TemporaryRowId);
+ assertTrue(id2 instanceof TemporaryRowId);
Assert.assertSame(id2, container.lastItemId());
container.commit();
Object nextToLast = container.getIdByIndex(container.size() - 2);
Object key = container.firstItemId();
Item row = container.getItem(key);
row.getItemProperty("NAME").setValue("Pekka");
- Assert.assertTrue(container.removeItem(key));
+ assertTrue(container.removeItem(key));
container.commit();
Assert.assertEquals(size - 1, container.size());
}
Assert.assertFalse(container.isModified());
RowItem last = (RowItem) container.getItem(container.lastItemId());
container.itemChangeNotification(last);
- Assert.assertTrue(container.isModified());
+ assertTrue(container.isModified());
}
@Test
connectionPool, SQLTestsConstants.sqlGen));
Assert.assertFalse(container.isModified());
container.removeItem(container.lastItemId());
- Assert.assertTrue(container.isModified());
+ assertTrue(container.isModified());
}
@Test
connectionPool, SQLTestsConstants.sqlGen));
Assert.assertFalse(container.isModified());
container.addItem();
- Assert.assertTrue(container.isModified());
+ assertTrue(container.isModified());
}
@Test
Assert.assertFalse(container.isModified());
container.getContainerProperty(container.lastItemId(), "NAME")
.setValue("foo");
- Assert.assertTrue(container.isModified());
+ assertTrue(container.isModified());
}
@Test
SQLContainer container = new SQLContainer(new TableQuery("people",
connectionPool, SQLTestsConstants.sqlGen));
Collection<?> sortableIds = container.getSortableContainerPropertyIds();
- Assert.assertTrue(sortableIds.contains("ID"));
- Assert.assertTrue(sortableIds.contains("NAME"));
- Assert.assertTrue(sortableIds.contains("AGE"));
+ assertTrue(sortableIds.contains("ID"));
+ assertTrue(sortableIds.contains("NAME"));
+ assertTrue(sortableIds.contains("AGE"));
Assert.assertEquals(3, sortableIds.size());
if (SQLTestsConstants.db == DB.MSSQL
|| SQLTestsConstants.db == DB.ORACLE) {