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());
}
}
}
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());
}
}
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);
}
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());
}
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());
}
Aggregations