Search in sources :

Example 91 with Entity

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());
    }
}
Also used : Entity(com.haulmont.cuba.core.entity.Entity) MetaClass(com.haulmont.chile.core.model.MetaClass)

Example 92 with Entity

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);
        }
    }
}
Also used : Entity(com.haulmont.cuba.core.entity.Entity) User(com.haulmont.cuba.security.entity.User) SQLException(java.sql.SQLException) QueryRunner(com.haulmont.bali.db.QueryRunner)

Example 93 with Entity

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);
}
Also used : TestSupport(com.haulmont.cuba.testsupport.TestSupport) EntityManager(com.haulmont.cuba.core.EntityManager) Assert.assertNotNull(org.junit.Assert.assertNotNull) Collection(java.util.Collection) FlushModeType(javax.persistence.FlushModeType) UUID(java.util.UUID) User(com.haulmont.cuba.security.entity.User) Metadata(com.haulmont.cuba.core.global.Metadata) Inject(javax.inject.Inject) Group(com.haulmont.cuba.security.entity.Group) TypedQuery(com.haulmont.cuba.core.TypedQuery) Component(org.springframework.stereotype.Component) PersistenceHelper(com.haulmont.cuba.core.global.PersistenceHelper) BeforeCommitTransactionListener(com.haulmont.cuba.core.listener.BeforeCommitTransactionListener) Assert.assertEquals(org.junit.Assert.assertEquals) Entity(com.haulmont.cuba.core.entity.Entity) User(com.haulmont.cuba.security.entity.User)

Example 94 with Entity

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());
}
Also used : Entity(com.haulmont.cuba.core.entity.Entity) User(com.haulmont.cuba.security.entity.User) LoadContext(com.haulmont.cuba.core.global.LoadContext) DataService(com.haulmont.cuba.core.app.DataService) Test(org.junit.Test)

Example 95 with Entity

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());
}
Also used : Entity(com.haulmont.cuba.core.entity.Entity) LoadContext(com.haulmont.cuba.core.global.LoadContext) DataService(com.haulmont.cuba.core.app.DataService) Test(org.junit.Test)

Aggregations

Entity (com.haulmont.cuba.core.entity.Entity)203 MetaClass (com.haulmont.chile.core.model.MetaClass)51 MetaProperty (com.haulmont.chile.core.model.MetaProperty)44 BaseGenericIdEntity (com.haulmont.cuba.core.entity.BaseGenericIdEntity)40 CollectionDatasource (com.haulmont.cuba.gui.data.CollectionDatasource)18 Test (org.junit.Test)15 Inject (javax.inject.Inject)14 java.util (java.util)12 EntityManager (com.haulmont.cuba.core.EntityManager)11 ParseException (java.text.ParseException)11 Element (org.dom4j.Element)11 Logger (org.slf4j.Logger)11 com.haulmont.cuba.core.global (com.haulmont.cuba.core.global)10 MetaPropertyPath (com.haulmont.chile.core.model.MetaPropertyPath)9 LoggerFactory (org.slf4j.LoggerFactory)9 Query (com.haulmont.cuba.core.Query)8 Server (com.haulmont.cuba.core.entity.Server)8 Transaction (com.haulmont.cuba.core.Transaction)7 Datasource (com.haulmont.cuba.gui.data.Datasource)7 Collectors (java.util.stream.Collectors)7