Search in sources :

Example 1 with Role

use of org.neo4j.ogm.domain.cineasts.minimum.Role in project neo4j-ogm by neo4j.

the class SingleUseEntityMapperTest method oneTimeSetUp.

@BeforeClass
public static void oneTimeSetUp() {
    sessionFactory = new SessionFactory(getDriver(), "org.neo4j.ogm.domain.gh551", "org.neo4j.ogm.domain.gh391", "org.neo4j.ogm.domain.gh750", "org.neo4j.ogm.domain.gh777", "org.neo4j.ogm.domain.cineasts.minimum", "org.neo4j.ogm.domain.gh813", "org.neo4j.ogm.domain.gh873");
    // Prepare test data
    Session session = sessionFactory.openSession();
    session.query("MATCH (n) DETACH DELETE n", EMPTY_MAP);
    session.query("unwind range(1,10) as x with x create (n:ThingEntity {name: 'Thing ' + x}) return n", EMPTY_MAP);
    Actor actor = new Actor("A1");
    Movie movie = new Movie("M1");
    Role role = new Role("R1", actor, movie);
    session.save(role);
    movie = new Movie("M2");
    role = new Role("R2", actor, movie);
    session.save(role);
    session.save(new UserInfo("Foo", "Bar", "i@do.com"));
    MyNode myNode = new MyNode();
    myNode.setId("the-id");
    myNode.setType("the-type");
    myNode.getAttributes().put("a1", "v1");
    myNode.getAttributes().put("a2", "v2");
    session.save(myNode);
}
Also used : SessionFactory(org.neo4j.ogm.session.SessionFactory) Role(org.neo4j.ogm.domain.cineasts.minimum.Role) Movie(org.neo4j.ogm.domain.cineasts.minimum.Movie) Actor(org.neo4j.ogm.domain.cineasts.minimum.Actor) UserInfo(org.neo4j.ogm.domain.gh777.UserInfo) MyNode(org.neo4j.ogm.domain.gh873.MyNode) Session(org.neo4j.ogm.session.Session) BeforeClass(org.junit.BeforeClass)

Example 2 with Role

use of org.neo4j.ogm.domain.cineasts.minimum.Role in project neo4j-ogm by neo4j.

the class MinimalRelationshipEntityMappingTest method verifyChangeOfRelationshipEnd.

// GH-607
@Test
public void verifyChangeOfRelationshipEnd() {
    session = sessionFactory.openSession();
    Actor actor = new Actor("A1");
    Movie movie = new Movie("M1");
    Role role = new Role("R1", actor, movie);
    session.save(role);
    session = sessionFactory.openSession();
    Iterable<Map<String, Object>> results = session.query("MATCH (m:Movie) <- [:ACTS_IN] - (:Actor {name: 'A1'}) RETURN COUNT(m) as cnt", Collections.emptyMap()).queryResults();
    assertThat(results).hasSize(1);
    assertThat(results).first().satisfies(m -> assertThat(m).containsEntry("cnt", 1L));
    // New session / TX
    session = sessionFactory.openSession();
    movie = new Movie("M2");
    role = session.load(Role.class, role.getId());
    role.setMovie(new Movie("M2"));
    session.save(role);
    session = sessionFactory.openSession();
    results = session.query("MATCH (m:Movie) <- [:ACTS_IN] - (:Actor {name: 'A1'}) RETURN COUNT(m) as cnt", Collections.emptyMap()).queryResults();
    assertThat(results).hasSize(1);
    assertThat(results).first().satisfies(m -> assertThat(m).containsEntry("cnt", 1L));
}
Also used : Role(org.neo4j.ogm.domain.cineasts.minimum.Role) Movie(org.neo4j.ogm.domain.cineasts.minimum.Movie) Actor(org.neo4j.ogm.domain.cineasts.minimum.Actor) Map(java.util.Map) Test(org.junit.Test)

Example 3 with Role

use of org.neo4j.ogm.domain.cineasts.minimum.Role in project neo4j-ogm by neo4j.

the class RelationshipEntityPartialMappingTest method shouldNotDropUnmappedRelationshipModels.

// GH-727
@Test
public void shouldNotDropUnmappedRelationshipModels() {
    Session session = sessionFactory.openSession();
    Actor actor = new Actor("A1");
    Movie movie = new Movie("M1");
    Role role = new Role("R1", actor, movie);
    session.save(role);
    session = sessionFactory.openSession();
    Iterable<Map<String, Object>> results = session.query("MATCH (m) - [r] - (a) WHERE id(a) = $id RETURN r", Collections.singletonMap("id", actor.getId())).queryResults();
    assertThat(results).hasSize(1);
    Map<String, Object> row = results.iterator().next();
    assertThat(row).containsKeys("r");
    assertThat(row.get("r")).isNotNull().isInstanceOf(RelationshipModel.class);
}
Also used : Role(org.neo4j.ogm.domain.cineasts.minimum.Role) Movie(org.neo4j.ogm.domain.cineasts.minimum.Movie) Actor(org.neo4j.ogm.domain.cineasts.minimum.Actor) Map(java.util.Map) Session(org.neo4j.ogm.session.Session) Test(org.junit.Test)

Example 4 with Role

use of org.neo4j.ogm.domain.cineasts.minimum.Role in project neo4j-ogm by neo4j.

the class RelationshipEntityPartialMappingTest method shouldMapSingleRelationshipModel.

// GH-727
@Test
public void shouldMapSingleRelationshipModel() {
    Session session = sessionFactory.openSession();
    Actor actor = new Actor("A1");
    Movie movie = new Movie("M1");
    Role role = new Role("R1", actor, movie);
    session.save(role);
    session = sessionFactory.openSession();
    Iterable<Map<String, Object>> results = session.query("MATCH (m) - [r] - (a) WHERE id(a) = $id RETURN m, r, a", Collections.singletonMap("id", actor.getId())).queryResults();
    assertThat(results).hasSize(1);
    Map<String, Object> row = results.iterator().next();
    assertThat(row).containsKeys("r");
    assertThat(row.get("r")).isNotNull().isInstanceOf(Role.class);
}
Also used : Role(org.neo4j.ogm.domain.cineasts.minimum.Role) Movie(org.neo4j.ogm.domain.cineasts.minimum.Movie) Actor(org.neo4j.ogm.domain.cineasts.minimum.Actor) Map(java.util.Map) Session(org.neo4j.ogm.session.Session) Test(org.junit.Test)

Aggregations

Actor (org.neo4j.ogm.domain.cineasts.minimum.Actor)4 Movie (org.neo4j.ogm.domain.cineasts.minimum.Movie)4 Role (org.neo4j.ogm.domain.cineasts.minimum.Role)4 Map (java.util.Map)3 Test (org.junit.Test)3 Session (org.neo4j.ogm.session.Session)3 BeforeClass (org.junit.BeforeClass)1 UserInfo (org.neo4j.ogm.domain.gh777.UserInfo)1 MyNode (org.neo4j.ogm.domain.gh873.MyNode)1 SessionFactory (org.neo4j.ogm.session.SessionFactory)1