Search in sources :

Example 66 with Person

use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.

the class SubviewTest method assertSubviewEquals.

public static void assertSubviewEquals(Set<Person> persons, Set<PersonSubView> personSubviews) {
    if (persons == null) {
        assertNull(personSubviews);
        return;
    }
    assertNotNull(personSubviews);
    assertEquals(persons.size(), personSubviews.size());
    for (Person p : persons) {
        boolean found = false;
        for (PersonSubView pSub : personSubviews) {
            if (p.getName().toUpperCase().equals(pSub.getName())) {
                found = true;
                break;
            }
        }
        if (!found) {
            Assert.fail("Could not find a person subview instance with the name: " + p.getName());
        }
    }
}
Also used : PersonSubView(com.blazebit.persistence.view.testsuite.subview.model.PersonSubView) Person(com.blazebit.persistence.testsuite.entity.Person)

Example 67 with Person

use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.

the class SubviewTest method assertSubviewEquals.

public static void assertSubviewEquals(List<Person> persons, List<PersonSubView> personSubviews) {
    if (persons == null) {
        assertNull(personSubviews);
        return;
    }
    assertNotNull(personSubviews);
    assertEquals(persons.size(), personSubviews.size());
    for (int i = 0; i < persons.size(); i++) {
        Person p = persons.get(i);
        PersonSubView pSub = personSubviews.get(i);
        assertEquals(p.getName().toUpperCase(), pSub.getName());
    }
}
Also used : PersonSubView(com.blazebit.persistence.view.testsuite.subview.model.PersonSubView) Person(com.blazebit.persistence.testsuite.entity.Person)

Example 68 with Person

use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.

the class AbstractEntityViewUpdateDocumentTest method prepareData.

@Override
protected void prepareData(EntityManager em) {
    doc1 = new Document("doc1", 10);
    doc1.setVersion(1L);
    doc1.setLastModified(new Date(EPOCH_2K));
    doc1.getNameObject().setPrimaryName("doc1");
    doc1.getNames().add(new NameObject("doc1", "doc1"));
    doc1.getNameMap().put("doc1", new NameObject("doc1", "doc1"));
    doc1.getNameContainers().add(new NameObjectContainer("doc1", new NameObject("doc1", "doc1")));
    doc1.getNameContainerMap().put("doc1", new NameObjectContainer("doc1", new NameObject("doc1", "doc1")));
    doc2 = new Document("doc2");
    doc2.setVersion(1L);
    doc2.setLastModified(new Date(EPOCH_2K));
    doc2.setNameObject(new NameObject("doc2", "doc2"));
    doc2.getNames().add(new NameObject("doc2", "doc2"));
    doc2.getNameMap().put("doc1", new NameObject("doc2", "doc2"));
    doc2.getNameContainers().add(new NameObjectContainer("doc2", new NameObject("doc2", "doc2")));
    doc2.getNameContainerMap().put("doc2", new NameObjectContainer("doc2", new NameObject("doc2", "doc2")));
    p1 = new Person("pers1");
    p1.getNameObject().setPrimaryName("pers1");
    p1.getLocalized().put(1, "localized1");
    p2 = new Person("pers2");
    p2.getNameObject().setPrimaryName("pers2");
    p2.getLocalized().put(1, "localized2");
    p3 = new Person("pers3");
    p3.getNameObject().setPrimaryName("pers3");
    p3.getLocalized().put(1, "localized3");
    p4 = new Person("pers4");
    p4.getNameObject().setPrimaryName("pers4");
    p4.getLocalized().put(1, "localized4");
    doc1.setOwner(p1);
    doc1.setResponsiblePerson(p1);
    doc1.getPeople().add(p1);
    doc1.getContacts().put(1, p1);
    doc1.getContacts2().put(2, p1);
    doc1.getStrings().add("asd");
    doc1.getStringMap().put("doc1", "doc1");
    doc2.setOwner(p2);
    doc2.setResponsiblePerson(p2);
    em.persist(p1);
    em.persist(p2);
    em.persist(p3);
    em.persist(p4);
    em.persist(doc1);
    em.persist(doc2);
    p1.setPartnerDocument(doc1);
    p1.setFriend(p3);
    p2.setFriend(p4);
}
Also used : NameObject(com.blazebit.persistence.testsuite.entity.NameObject) NameObjectContainer(com.blazebit.persistence.testsuite.entity.NameObjectContainer) Document(com.blazebit.persistence.testsuite.entity.Document) Person(com.blazebit.persistence.testsuite.entity.Person) Date(java.util.Date)

Example 69 with Person

use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.

the class MappingSubqueryTest method testSubqueryEmbeddingViewEntityViewSettings.

@Test
public void testSubqueryEmbeddingViewEntityViewSettings() {
    EntityViewManager evm = build(DocumentWithSubqueryEmbeddingView.class, PersonWithSubqueryEmbeddingViewSubview.class);
    CriteriaBuilder<Person> cb = cbf.create(em, Person.class);
    EntityViewSetting<PersonWithSubqueryEmbeddingViewSubview, CriteriaBuilder<PersonWithSubqueryEmbeddingViewSubview>> setting = EntityViewSetting.create(PersonWithSubqueryEmbeddingViewSubview.class);
    setting.addOptionalParameter("optionalParameter", 1);
    setting.addAttributeSorter("pDocument.name", Sorters.ascending());
    List<PersonWithSubqueryEmbeddingViewSubview> list = evm.applySetting(setting, cb).getResultList();
    assertEquals("SELECT " + "person.id AS PersonWithSubqueryEmbeddingViewSubview_id, " + "person.name AS PersonWithSubqueryEmbeddingViewSubview_name, " + singleValuedAssociationIdPath("person.partnerDocument.id", "partnerDocument_1") + " AS PersonWithSubqueryEmbeddingViewSubview_pDocument_id, " + "(SELECT COUNT(person_1.id) " + "FROM Person person_1" + singleValuedAssociationIdJoin("person_1.partnerDocument", "partnerDocument_2", true) + " WHERE " + singleValuedAssociationIdPath("person_1.partnerDocument.id", "partnerDocument_2") + " = " + singleValuedAssociationIdPath("person.partnerDocument.id", "partnerDocument_1") + ") AS PersonWithSubqueryEmbeddingViewSubview_pDocument_contactCount, " + "partnerDocument_1.name AS PersonWithSubqueryEmbeddingViewSubview_pDocument_name " + "FROM Person person " + "LEFT JOIN person.partnerDocument partnerDocument_1 " + "ORDER BY " + renderNullPrecedence("PersonWithSubqueryEmbeddingViewSubview_pDocument_name", "partnerDocument_1.name", "ASC", "LAST"), cb.getQueryString());
    assertEquals(3, list.size());
    assertEquals("doc1", list.get(0).getPDocument().getName());
    assertEquals(Long.valueOf(1), list.get(0).getPDocument().getContactCount());
    assertEquals("doc2", list.get(1).getPDocument().getName());
    assertEquals(Long.valueOf(2), list.get(1).getPDocument().getContactCount());
    assertEquals("doc2", list.get(2).getPDocument().getName());
    assertEquals(Long.valueOf(2), list.get(2).getPDocument().getContactCount());
}
Also used : CriteriaBuilder(com.blazebit.persistence.CriteriaBuilder) PaginatedCriteriaBuilder(com.blazebit.persistence.PaginatedCriteriaBuilder) EntityViewManager(com.blazebit.persistence.view.EntityViewManager) PersonWithSubqueryEmbeddingViewSubview(com.blazebit.persistence.view.testsuite.subquery.model.PersonWithSubqueryEmbeddingViewSubview) Person(com.blazebit.persistence.testsuite.entity.Person) Test(org.junit.Test) AbstractEntityViewTest(com.blazebit.persistence.view.testsuite.AbstractEntityViewTest)

Example 70 with Person

use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.

the class MappingSubqueryTest method testSubqueryViewRootEntityViewSettings.

@Test
public void testSubqueryViewRootEntityViewSettings() {
    EntityViewManager evm = build(DocumentWithSubqueryViewRoot.class);
    CriteriaBuilder<Person> cb = cbf.create(em, Person.class);
    EntityViewSetting<DocumentWithSubqueryViewRoot, CriteriaBuilder<DocumentWithSubqueryViewRoot>> setting = EntityViewSetting.create(DocumentWithSubqueryViewRoot.class);
    setting.addOptionalParameter("optionalParameter", 1);
    setting.addAttributeSorter("name", Sorters.ascending());
    List<DocumentWithSubqueryViewRoot> list = evm.applySetting(setting, cb, "partnerDocument").getResultList();
    assertEquals("SELECT " + singleValuedAssociationIdPath("partnerDocument_1.id", "partnerDocument_1") + " AS DocumentWithSubqueryViewRoot_id, " + "(SELECT COUNT(person_1.id) " + "FROM Person person_1" + singleValuedAssociationIdJoin("person_1.partnerDocument", "partnerDocument_2", true) + " WHERE " + singleValuedAssociationIdPath("person_1.partnerDocument.id", "partnerDocument_2") + " = " + singleValuedAssociationIdPath("partnerDocument_1.id", "partnerDocument_1") + ") AS DocumentWithSubqueryViewRoot_contactCount, " + "partnerDocument_1.name AS DocumentWithSubqueryViewRoot_name " + "FROM Person person " + "LEFT JOIN person.partnerDocument partnerDocument_1 " + "ORDER BY " + renderNullPrecedence("DocumentWithSubqueryViewRoot_name", "partnerDocument_1.name", "ASC", "LAST"), cb.getQueryString());
    assertEquals(3, list.size());
    assertEquals("doc1", list.get(0).getName());
    assertEquals(Long.valueOf(1), list.get(0).getContactCount());
    assertEquals("doc2", list.get(1).getName());
    assertEquals(Long.valueOf(2), list.get(1).getContactCount());
    assertEquals("doc2", list.get(2).getName());
    assertEquals(Long.valueOf(2), list.get(2).getContactCount());
}
Also used : CriteriaBuilder(com.blazebit.persistence.CriteriaBuilder) PaginatedCriteriaBuilder(com.blazebit.persistence.PaginatedCriteriaBuilder) DocumentWithSubqueryViewRoot(com.blazebit.persistence.view.testsuite.subquery.model.DocumentWithSubqueryViewRoot) EntityViewManager(com.blazebit.persistence.view.EntityViewManager) Person(com.blazebit.persistence.testsuite.entity.Person) Test(org.junit.Test) AbstractEntityViewTest(com.blazebit.persistence.view.testsuite.AbstractEntityViewTest)

Aggregations

Person (com.blazebit.persistence.testsuite.entity.Person)175 Document (com.blazebit.persistence.testsuite.entity.Document)94 EntityManager (javax.persistence.EntityManager)77 TxVoidWork (com.blazebit.persistence.testsuite.tx.TxVoidWork)76 Test (org.junit.Test)50 AssertStatementBuilder (com.blazebit.persistence.testsuite.base.jpa.assertion.AssertStatementBuilder)19 Before (org.junit.Before)19 Version (com.blazebit.persistence.testsuite.entity.Version)18 AbstractEntityViewTest (com.blazebit.persistence.view.testsuite.AbstractEntityViewTest)14 HashMap (java.util.HashMap)14 Map (java.util.Map)14 AbstractEntityViewUpdateDocumentTest (com.blazebit.persistence.view.testsuite.update.AbstractEntityViewUpdateDocumentTest)11 Category (org.junit.experimental.categories.Category)11 CriteriaBuilder (com.blazebit.persistence.CriteriaBuilder)10 UpdatablePersonView (com.blazebit.persistence.view.testsuite.update.subview.simple.mutable.model.UpdatablePersonView)7 NameObject (com.blazebit.persistence.testsuite.entity.NameObject)5 Tuple (javax.persistence.Tuple)5 AbstractCoreTest (com.blazebit.persistence.testsuite.AbstractCoreTest)4 NameObjectContainer (com.blazebit.persistence.testsuite.entity.NameObjectContainer)4 QDocument (com.blazebit.persistence.testsuite.entity.QDocument)4