use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.
the class AbstractEntityViewRemoveDocumentTest method prepareData.
@Override
protected void prepareData(EntityManager em) {
doc1 = new Document("doc1", null, new Version());
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");
p5 = new Person("pers3");
p5.getNameObject().setPrimaryName("pers3");
p5.getLocalized().put(1, "localized3");
p6 = new Person("pers4");
p6.getNameObject().setPrimaryName("pers4");
p6.getLocalized().put(1, "localized4");
doc1.setOwner(p5);
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");
doc1.getVersions().iterator().next().getLocalized().put(1, "1");
doc2.setOwner(p6);
doc2.setResponsiblePerson(p2);
em.persist(p1);
em.persist(p2);
em.persist(p3);
em.persist(p4);
em.persist(p5);
em.persist(p6);
em.persist(doc1);
em.persist(doc2);
p1.setFriend(p3);
p2.setFriend(p4);
}
use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.
the class EntityViewUpdateSimpleUpdatableOnlySubviewMapsTest method assertSubviewEquals.
public static void assertSubviewEquals(Map<Integer, Person> persons, Map<Integer, PersonView> personSubviews) {
if (persons == null) {
assertNull(personSubviews);
return;
}
assertNotNull(personSubviews);
assertEquals(persons.size(), personSubviews.size());
for (Map.Entry<Integer, Person> entry : persons.entrySet()) {
Person p = entry.getValue();
boolean found = false;
PersonView pSub = personSubviews.get(entry.getKey());
if (pSub != null) {
if (p.getName().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 SecondaryViewRootTest method setUpOnce.
@Override
public void setUpOnce() {
cleanDatabase();
transactional(new TxVoidWork() {
@Override
public void work(EntityManager em) {
doc1 = new Document("doc1");
doc2 = new Document("doc2");
Person o1 = new Person("pers1", 64);
Person o2 = new Person("pers2", 32);
Person o3 = new Person("pers3", 16);
o1.getLocalized().put(1, "localized1");
o2.getLocalized().put(1, "localized2");
o3.getLocalized().put(1, "localized3");
doc1.setAge(10);
doc1.setOwner(o1);
doc2.setAge(20);
doc2.setOwner(o2);
doc1.getContacts().put(1, o1);
doc2.getContacts().put(1, o2);
doc1.getContacts2().put(2, o1);
doc2.getContacts2().put(2, o2);
em.persist(o1);
em.persist(o2);
em.persist(o3);
// Flush doc1 before so we get the ids we would expect
em.persist(doc1);
em.flush();
em.persist(doc2);
em.flush();
o1.setPartnerDocument(doc1);
o2.setPartnerDocument(doc2);
o3.setPartnerDocument(doc2);
}
});
}
use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.
the class EntityViewUpdateMutableOnlyEntityCollectionsTest method testUpdateModifyEntityInCollection.
@Test
public void testUpdateModifyEntityInCollection() {
// Given & When
final UpdatableDocumentEntityWithCollectionsView docView = modifyEntityInCollection();
// Then
// Assert that the document and the people are loaded i.e. a full fetch
// Since only an existing person was update, only a single update is generated
AssertStatementBuilder builder = assertUnorderedQuerySequence();
if (isQueryStrategy()) {
builder.select(Person.class);
} else {
fullFetch(builder);
}
if (version || isQueryStrategy() && isFullMode()) {
versionUpdate(builder);
}
builder.update(Person.class).validate();
// Unfortunately, even after an update, we have to reload the entity to merge again
AssertStatementBuilder afterBuilder = assertQueriesAfterUpdate(docView);
if (isQueryStrategy()) {
afterBuilder.select(Person.class);
} else {
fullFetch(afterBuilder);
}
if (version || isQueryStrategy() && isFullMode()) {
versionUpdate(afterBuilder);
}
afterBuilder.validate();
assertEquals(doc1.getPeople(), docView.getPeople());
assertEquals("newPerson", p1.getName());
}
use of com.blazebit.persistence.testsuite.entity.Person in project blaze-persistence by Blazebit.
the class DateTruncTest method setUpOnce.
@Override
public void setUpOnce() {
cleanDatabase();
transactional(new TxVoidWork() {
@Override
public void work(EntityManager em) {
Person p = new Person("Pers1");
p.setAge(20L);
em.persist(p);
Version v1 = new Version();
em.persist(v1);
Document doc1 = new Document("Doc1", p, v1);
doc1.setCreationDate(c1);
doc1.setCreationDate2(c1);
doc1.setLastModified(c1.getTime());
doc1.setLastModified2(c1.getTime());
em.persist(doc1);
}
});
}
Aggregations