Search in sources :

Example 1 with FileDescriptor

use of com.haulmont.cuba.core.model.common.FileDescriptor in project jmix by jmix-framework.

the class EntityListenerTest method testEntityManager.

@Test
public void testEntityManager() throws Exception {
    Server server;
    UUID serverId;
    Transaction tx = persistence.createTransaction();
    try {
        // create
        server = new Server();
        server.setName("server1");
        serverId = server.getId();
        persistence.getEntityManager().persist(server);
        tx.commitRetaining();
        assertNotNull(server.getData());
        UUID relatedId = UUID.fromString(server.getData());
        FileDescriptor related = persistence.getEntityManager().find(FileDescriptor.class, relatedId);
        assertNotNull(related);
        assertEquals("Related", related.getName());
        tx.commitRetaining();
        // update
        server = persistence.getEntityManager().find(Server.class, serverId);
        assertNotNull(server);
        server.setName("server1 updated");
        tx.commitRetaining();
        related = persistence.getEntityManager().find(FileDescriptor.class, relatedId);
        assertNotNull(related);
        assertEquals("Related updated", related.getName());
        tx.commitRetaining();
        // remove
        server = persistence.getEntityManager().find(Server.class, serverId);
        assertNotNull(server);
        persistence.getEntityManager().remove(server);
        tx.commitRetaining();
        related = persistence.getEntityManager().find(FileDescriptor.class, relatedId);
        assertNull(related);
        tx.commit();
    } finally {
        tx.end();
    }
}
Also used : Server(com.haulmont.cuba.core.model.common.Server) UUID(java.util.UUID) FileDescriptor(com.haulmont.cuba.core.model.common.FileDescriptor) CoreTest(com.haulmont.cuba.core.testsupport.CoreTest) Test(org.junit.jupiter.api.Test)

Example 2 with FileDescriptor

use of com.haulmont.cuba.core.model.common.FileDescriptor in project jmix by jmix-framework.

the class TestListenerUsingEntityManager method onBeforeInsert.

@Override
public void onBeforeInsert(Server entity, EntityManager entityManager) {
    EntityManager em = persistence.getEntityManager();
    FileDescriptor related = new FileDescriptor();
    related.setName("Related");
    System.out.println(">>>>> persist related: " + related.getId());
    em.persist(related);
    entity.setData(related.getId().toString());
}
Also used : EntityManager(com.haulmont.cuba.core.EntityManager) FileDescriptor(com.haulmont.cuba.core.model.common.FileDescriptor)

Example 3 with FileDescriptor

use of com.haulmont.cuba.core.model.common.FileDescriptor in project jmix by jmix-framework.

the class TestListenerUsingEntityManager method onBeforeUpdate.

@Override
public void onBeforeUpdate(Server entity, EntityManager entityManager) {
    EntityManager em = persistence.getEntityManager();
    UUID relatedId = UUID.fromString(entity.getData());
    FileDescriptor related = em.find(FileDescriptor.class, relatedId);
    if (related != null) {
        related.setName("Related updated");
        System.out.println(">>>>> update related: " + relatedId);
    } else
        throw new RuntimeException("Related not found: " + relatedId);
}
Also used : EntityManager(com.haulmont.cuba.core.EntityManager) UUID(java.util.UUID) FileDescriptor(com.haulmont.cuba.core.model.common.FileDescriptor)

Example 4 with FileDescriptor

use of com.haulmont.cuba.core.model.common.FileDescriptor in project jmix by jmix-framework.

the class TestListenerUsingEntityManager method onBeforeDelete.

@Override
public void onBeforeDelete(Server entity, EntityManager entityManager) {
    EntityManager em = persistence.getEntityManager();
    UUID relatedId = UUID.fromString(entity.getData());
    FileDescriptor related = em.find(FileDescriptor.class, relatedId);
    if (related != null) {
        System.out.println(">>>>> remove related: " + relatedId);
        em.remove(related);
    } else
        throw new RuntimeException("Related entity not found" + relatedId);
}
Also used : EntityManager(com.haulmont.cuba.core.EntityManager) UUID(java.util.UUID) FileDescriptor(com.haulmont.cuba.core.model.common.FileDescriptor)

Aggregations

FileDescriptor (com.haulmont.cuba.core.model.common.FileDescriptor)4 EntityManager (com.haulmont.cuba.core.EntityManager)3 UUID (java.util.UUID)3 Server (com.haulmont.cuba.core.model.common.Server)1 CoreTest (com.haulmont.cuba.core.testsupport.CoreTest)1 Test (org.junit.jupiter.api.Test)1