use of org.neo4j.ogm.domain.mappings.Tag in project neo4j-ogm by neo4j.
the class DualTargetEntityRelationshipTest method shouldKeepAllRelations.
// DATAGRAPH-690
@Test
public void shouldKeepAllRelations() {
Category category = new Category("cat1");
Tag tag1 = new Tag("tag1");
Set<Tag> tags = new HashSet<>();
tags.add(tag1);
Event event = new Event("title");
event.setCategory(category);
event.setTags(tags);
session.save(event);
assertThat(event.getNodeId()).isNotNull();
assertThat(category.getNodeId()).isNotNull();
assertThat(tag1.getNodeId()).isNotNull();
session.clear();
Collection<Tag> tagsFound = session.loadAll(Tag.class, new Filter("name", ComparisonOperator.EQUALS, "tag1"));
assertThat(tagsFound).hasSize(1);
event.setTags(new HashSet<>(tagsFound));
Collection<Category> categoriesFound = session.loadAll(Category.class, new Filter("name", ComparisonOperator.EQUALS, "cat1"));
assertThat(categoriesFound).hasSize(1);
event.setCategory(categoriesFound.iterator().next());
assertThat(event.getTags().iterator().next()).isEqualTo(tag1);
assertThat(event.getCategory()).isEqualTo(category);
session.save(event);
session.clear();
Event eventFound = session.load(Event.class, event.getNodeId(), 1);
assertThat(eventFound.getNodeId()).isNotNull();
assertThat(eventFound.getCategory()).isEqualTo(category);
assertThat(eventFound.getTags().iterator().next()).isEqualTo(tag1);
}
use of org.neo4j.ogm.domain.mappings.Tag in project neo4j-ogm by neo4j.
the class DualTargetEntityRelationshipTest method mappingShouldConsiderClasses.
// DATAGRAPH-636
@Test
public void mappingShouldConsiderClasses() {
Category category = new Category("cat1");
Tag tag1 = new Tag("tag1");
Set<Tag> tags = new HashSet<>();
tags.add(tag1);
Event event = new Event("title");
event.setCategory(category);
event.setTags(tags);
session.save(event);
assertThat(event.getNodeId()).isNotNull();
assertThat(event.getCategory().getNodeId()).isNotNull();
assertThat(event.getTags().iterator().next().getNodeId()).isNotNull();
session.clear();
event = session.load(Event.class, event.getNodeId(), 1);
assertThat(event).isNotNull();
assertThat(event.getCategory()).isEqualTo(category);
assertThat(event.getTags().iterator().next()).isEqualTo(tag1);
}
use of org.neo4j.ogm.domain.mappings.Tag in project neo4j-ogm by neo4j.
the class RichRelationTest method shouldUpdateEndNodeEntityWithoutException.
// GH-46
@Test
public void shouldUpdateEndNodeEntityWithoutException() {
Person person = new Person();
session.save(person);
Article article1 = new Article();
Tag tag1 = new Tag("tag1");
article1.tags = Collections.singletonList(tag1);
session.save(article1);
RichRelation relation1 = new RichRelation();
person.addRelation(article1, relation1);
session.save(person, 1);
Article updateArticle = session.load(Article.class, article1.getNodeId(), 1);
assertThat(((RichRelation) updateArticle.relations.toArray()[0]).article).isSameAs(updateArticle);
updateArticle.tags = Collections.singletonList(new Tag("tag2"));
session.save(updateArticle, 1);
updateArticle = session.load(Article.class, article1.getNodeId(), 1);
assertThat(((RichRelation) updateArticle.relations.toArray()[0]).article).isSameAs(updateArticle);
session.save(updateArticle, 1);
}
Aggregations