@Override protected RelationEntity createEntity(Long key) { RelationEntity entity = new RelationEntity(); entity.setId(key); return entity; }
@Override protected final void bindValues(SQLiteStatement stmt, RelationEntity entity) { stmt.clearBindings(); Long id = entity.getId(); if (id != null) { stmt.bindLong(1, id); } Long parentId = entity.getParentId(); if (parentId != null) { stmt.bindLong(2, parentId); } Long testId = entity.getTestId(); if (testId != null) { stmt.bindLong(3, testId); } stmt.bindLong(4, entity.getTestIdNotNull()); String simpleString = entity.getSimpleString(); if (simpleString != null) { stmt.bindString(5, simpleString); } }
@Override public void readEntity(Cursor cursor, RelationEntity entity, int offset) { entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0)); entity.setParentId(cursor.isNull(offset + 1) ? null : cursor.getLong(offset + 1)); entity.setTestId(cursor.isNull(offset + 2) ? null : cursor.getLong(offset + 2)); entity.setTestIdNotNull(cursor.getLong(offset + 3)); entity.setSimpleString(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4)); }
protected RelationEntity insertEntityWithRelations(Long testEntityId) { TestEntity testEntity = daoSession.getTestEntityDao().load(testEntityId); if (testEntity == null) { testEntity = new TestEntity(testEntityId); testEntity.setSimpleStringNotNull("mytest"); daoSession.getTestEntityDao().insert(testEntity); } RelationEntity parentEntity = createEntity(null); parentEntity.setSimpleString("I'm a parent"); parentEntity.setTestNotNull(testEntity); dao.insert(parentEntity); RelationEntity entity = createEntity(null); entity.setTestId(testEntityId); entity.setParentId(parentEntity.getId()); entity.setSimpleString("findMe"); entity.setTestNotNull(testEntity); dao.insert(entity); return entity; }
protected void assertTestEntity(RelationEntity entity) { TestEntity testEntity = entity.getTestEntity(); assertNotNull(testEntity); assertEquals(42l, (long) testEntity.getId()); assertEquals("mytest", testEntity.getSimpleStringNotNull()); assertEquals("I'm a parent", entity.getParent().getSimpleString()); assertEquals(entity.getParentId(), entity.getParent().getId()); assertNotNull(entity.getTestNotNull()); }
public void testToOneLoadDeepNull() { RelationEntity entity = insertEntityWithRelations(42l); entity.setParentId(null); entity.setTestId(null); dao.update(entity); entity = dao.loadDeep(entity.getId()); assertNull(entity.getParent()); assertNull(entity.getTestEntity()); }
public void testToOneNoMatchLoadDeep() { RelationEntity entity = insertEntityWithRelations(42l); assertNotNull(entity.getTestEntity()); entity.setTestId(23l); entity.setTestIdNotNull(-78); dao.update(entity); entity = dao.loadDeep(entity.getId()); assertNull(entity.getTestEntity()); assertNull(entity.getTestNotNull()); }
protected RelationEntity loadCurrentDeep(Cursor cursor, boolean lock) { RelationEntity entity = loadCurrent(cursor, 0, lock); int offset = getAllColumns().length; RelationEntity parent = loadCurrentOther(daoSession.getRelationEntityDao(), cursor, offset); entity.setParent(parent); offset += daoSession.getRelationEntityDao().getAllColumns().length; TestEntity testEntity = loadCurrentOther(daoSession.getTestEntityDao(), cursor, offset); entity.setTestEntity(testEntity); offset += daoSession.getTestEntityDao().getAllColumns().length; TestEntity testNotNull = loadCurrentOther(daoSession.getTestEntityDao(), cursor, offset); if(testNotNull != null) { entity.setTestNotNull(testNotNull); } offset += daoSession.getTestEntityDao().getAllColumns().length; TestEntity testWithoutProperty = loadCurrentOther(daoSession.getTestEntityDao(), cursor, offset); entity.setTestWithoutProperty(testWithoutProperty); return entity; }
private void prepareData() { List<TestEntity> targetEntities = new ArrayList<TestEntity>(); for (int i = 0; i < 10; i++) { TestEntity testEntity = new TestEntity(); testEntity.setSimpleInt(i + 1); testEntity.setSimpleStringNotNull("string-" + (i + 1)); targetEntities.add(testEntity); } testEntityDao.insertInTx(targetEntities); List<RelationEntity> entities = new ArrayList<RelationEntity>(); for (int i = 0; i < 10; i++) { RelationEntity entity = new RelationEntity(); entity.setSimpleString("entity-" + (i + 1)); entity.setTestNotNull(targetEntities.get(i)); entities.add(entity); } relationEntityDao.insertInTx(entities); }
public void testToOneUpdateEntity() { RelationEntity entity = insertEntityWithRelations(42l); TestEntity testEntity = entity.getTestEntity(); RelationEntity entity2 = insertEntityWithRelations(43l); TestEntity testEntity2 = entity2.getTestEntity(); entity.setTestEntity(testEntity2); assertEquals(testEntity2.getId(), entity.getTestId()); entity.setTestEntity(null); assertNull(entity.getTestId()); entity.setTestEntity(testEntity); assertEquals(testEntity.getId(), entity.getTestId()); }
public void testToOneSelf() { RelationEntity entity = createEntity(1l); dao.insert(entity); entity = dao.load(1l); assertNull(entity.getParent()); entity.setParentId(entity.getId()); dao.update(entity); entity = dao.load(1l); RelationEntity parent = entity.getParent(); assertEquals(entity.getId(), parent.getId()); }
@Generated public void setParent(RelationEntity parent) { synchronized (this) { this.parent = parent; parentId = parent == null ? null : parent.getId(); parent__resolvedKey = parentId; } }
public void testToOneClearEntity() { RelationEntity entity = insertEntityWithRelations(42l); assertNotNull(entity.getParentId()); entity.setParent(null); assertNull(entity.getParentId()); }
public void testJoinOfJoin() { prepareData(); List<RelationEntity> relationEntities = relationEntityDao.loadAll(); relationEntities.get(2).setParent(relationEntities.get(4)); relationEntities.get(3).setParent(relationEntities.get(5)); relationEntities.get(7).setParent(relationEntities.get(5)); relationEntityDao.updateInTx(relationEntities); QueryBuilder<RelationEntity> queryBuilder = relationEntityDao.queryBuilder(); Join<RelationEntity, RelationEntity> join1 = queryBuilder.join(RelationEntityDao.Properties.ParentId, RelationEntity.class); queryBuilder.join(join1, RelationEntityDao.Properties.TestIdNotNull, TestEntity.class, Properties.Id) .where(Properties.SimpleInt.lt(6)); Query<RelationEntity> query = queryBuilder.build(); RelationEntity entity = query.uniqueOrThrow(); assertEquals(relationEntities.get(2).getSimpleString(), entity.getSimpleString()); query.setParameter(0, 99); assertEquals(3, query.list().size()); }
public void testJoinSimple() { prepareData(); QueryBuilder<RelationEntity> queryBuilder = createQueryBuilder(5); RelationEntity unique = queryBuilder.uniqueOrThrow(); assertEquals("entity-5", unique.getSimpleString()); }
public void testToOneClearKey() { RelationEntity entity = insertEntityWithRelations(42l); assertNotNull(entity.getParent()); entity.setParentId(null); assertNull(entity.getParent()); }
public void testToOneLoadDeepIdentityScope() { RelationEntity entity = insertEntityWithRelations(42l); RelationEntity entity2 = insertEntityWithRelations(42l); entity = dao.loadDeep(entity.getId()); entity2 = dao.loadDeep(entity2.getId()); assertFalse(entity.getId().equals(entity2.getId())); assertTestEntity(entity); assertTestEntity(entity2); assertSame(entity.getTestEntity(), entity2.getTestEntity()); }
@Override protected final Long updateKeyAfterInsert(RelationEntity entity, long rowId) { entity.setId(rowId); return rowId; }
@Override public RelationEntity readEntity(Cursor cursor, int offset) { RelationEntity entity = new RelationEntity( // cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id cursor.isNull(offset + 1) ? null : cursor.getLong(offset + 1), // parentId cursor.isNull(offset + 2) ? null : cursor.getLong(offset + 2), // testId cursor.getLong(offset + 3), // testIdNotNull cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4) // simpleString ); return entity; }
@Override public Long getKey(RelationEntity entity) { if(entity != null) { return entity.getId(); } else { return null; } }