use of com.haulmont.cuba.core.entity.Entity in project cuba by cuba-platform.
the class TestContainer method deleteRecord.
public void deleteRecord(Entity... entities) {
if (entities == null)
return;
for (Entity entity : entities) {
if (entity == null)
continue;
MetadataTools metadataTools = metadata().getTools();
MetaClass metaClass = metadata().getClassNN(entity.getClass());
String table = metadataTools.getDatabaseTable(metaClass);
String primaryKey = metadataTools.getPrimaryKeyName(metaClass);
if (table == null || primaryKey == null)
throw new RuntimeException("Unable to determine table or primary key name for " + entity);
deleteRecord(table, primaryKey, entity.getId());
}
}
use of com.haulmont.cuba.core.entity.Entity in project cuba by cuba-platform.
the class TestAfterCompleteTxListener method testCommit.
private void testCommit(boolean committed, Collection<Entity> detachedEntities) {
assertTrue(committed);
User user = null;
for (Entity entity : detachedEntities) {
assertTrue(PersistenceHelper.isDetached(entity));
if (entity instanceof User && ((User) entity).getLogin().startsWith("TxLstnrTst-1-"))
user = (User) entity;
}
if (user != null) {
try {
QueryRunner runner = new QueryRunner(persistence.getDataSource());
runner.update("update SEC_USER set NAME = 'updated by TestAfterCompleteTxListener' where ID = ?", user.getId().toString());
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
use of com.haulmont.cuba.core.entity.Entity in project cuba by cuba-platform.
the class TestBeforeCommitTxListener method queryWithFlush.
private void queryWithFlush(Collection<Entity> managedEntities, EntityManager entityManager) {
if (!managedEntities.stream().anyMatch(e -> e instanceof User && ((User) e).getLogin().startsWith("TxLstnrTst-")))
return;
TypedQuery<User> query = entityManager.createQuery("select u from sec$User u where u.login like ?1", User.class);
query.setParameter(1, "TxLstnrTst-2-%");
query.setFlushMode(FlushModeType.AUTO);
User result = query.getFirstResult();
assertNotNull(result);
}
use of com.haulmont.cuba.core.entity.Entity in project cuba by cuba-platform.
the class QueryResultTest method testSecondQuery.
@Test
public void testSecondQuery() throws SQLException {
DataService dataService = AppBeans.get(DataService.class);
LoadContext context = new LoadContext(User.class).setView(View.LOCAL);
context.setQueryString("select u from sec$User u where u.email like :email").setParameter("email", "%aaa.com");
LoadContext.Query prevQuery = new LoadContext.Query("select u from sec$User u where u.name like :name").setParameter("name", "A-%");
context.getPrevQueries().add(prevQuery);
context.setQueryKey(111);
List<Entity> entities = dataService.loadList(context);
assertEquals(10, entities.size());
List<Map<String, Object>> queryResults = getQueryResults();
assertEquals(20, queryResults.size());
}
use of com.haulmont.cuba.core.entity.Entity in project cuba by cuba-platform.
the class QueryResultTest method testThirdQuery.
@Test
public void testThirdQuery() throws SQLException {
DataService dataService = AppBeans.get(DataService.class);
LoadContext context;
List<Entity> entities;
context = new LoadContext(User.class).setView(View.LOCAL);
LoadContext.Query query1 = context.setQueryString("select u from sec$User u where u.email like :email").setParameter("email", "%aaa.com");
entities = dataService.loadList(context);
assertEquals(20, entities.size());
context = new LoadContext(User.class).setView(View.LOCAL);
LoadContext.Query query2 = context.setQueryString("select u from sec$User u where u.name like :name").setParameter("name", "A-%");
context.getPrevQueries().add(query1);
context.setQueryKey(111);
entities = dataService.loadList(context);
assertEquals(10, entities.size());
context = new LoadContext(User.class).setView(View.LOCAL);
context.setQueryString("select u from sec$User u where u.firstName like :firstName").setParameter("firstName", "C-%");
context.getPrevQueries().add(query1);
context.getPrevQueries().add(query2);
context.setQueryKey(111);
entities = dataService.loadList(context);
assertEquals(5, entities.size());
}
Aggregations