Search in sources :

Example 1 with Tag

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);
}
Also used : Category(org.neo4j.ogm.domain.mappings.Category) Filter(org.neo4j.ogm.cypher.Filter) Event(org.neo4j.ogm.domain.mappings.Event) Tag(org.neo4j.ogm.domain.mappings.Tag) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 2 with Tag

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);
}
Also used : Category(org.neo4j.ogm.domain.mappings.Category) Event(org.neo4j.ogm.domain.mappings.Event) Tag(org.neo4j.ogm.domain.mappings.Tag) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 3 with Tag

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);
}
Also used : Article(org.neo4j.ogm.domain.mappings.Article) Tag(org.neo4j.ogm.domain.mappings.Tag) Person(org.neo4j.ogm.domain.mappings.Person) RichRelation(org.neo4j.ogm.domain.mappings.RichRelation) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)3 Tag (org.neo4j.ogm.domain.mappings.Tag)3 HashSet (java.util.HashSet)2 Category (org.neo4j.ogm.domain.mappings.Category)2 Event (org.neo4j.ogm.domain.mappings.Event)2 Filter (org.neo4j.ogm.cypher.Filter)1 Article (org.neo4j.ogm.domain.mappings.Article)1 Person (org.neo4j.ogm.domain.mappings.Person)1 RichRelation (org.neo4j.ogm.domain.mappings.RichRelation)1