JAVA-222364 Keep in the spring data neo4j just the examples with spring
This commit is contained in:
parent
05519f2296
commit
52d3952ac3
|
@ -93,7 +93,6 @@
|
||||||
<!-- <module>spring-data-mongodb</module> FAILED -->
|
<!-- <module>spring-data-mongodb</module> FAILED -->
|
||||||
<module>spring-data-mongodb-2</module>
|
<module>spring-data-mongodb-2</module>
|
||||||
<module>spring-data-mongodb-reactive</module>
|
<module>spring-data-mongodb-reactive</module>
|
||||||
<!-- <module>spring-data-neo4j</module> FAILED -->
|
|
||||||
<module>spring-data-redis</module>
|
<module>spring-data-redis</module>
|
||||||
<!-- Moved to JDK9+ profiles-->
|
<!-- Moved to JDK9+ profiles-->
|
||||||
<!-- <module>spring-data-rest</module>-->
|
<!-- <module>spring-data-rest</module>-->
|
||||||
|
|
|
@ -14,26 +14,11 @@
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
|
||||||
<groupId>org.neo4j</groupId>
|
|
||||||
<artifactId>neo4j</artifactId>
|
|
||||||
<version>${neo4j.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.neo4j</groupId>
|
|
||||||
<artifactId>neo4j-ogm-core</artifactId>
|
|
||||||
<version>${neo4j-ogm.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.neo4j</groupId>
|
<groupId>org.neo4j</groupId>
|
||||||
<artifactId>neo4j-ogm-embedded-driver</artifactId>
|
<artifactId>neo4j-ogm-embedded-driver</artifactId>
|
||||||
<version>${neo4j-ogm.version}</version>
|
<version>${neo4j-ogm.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.neo4j.driver</groupId>
|
|
||||||
<artifactId>neo4j-java-driver</artifactId>
|
|
||||||
<version>${neo4j-java-driver.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.data</groupId>
|
<groupId>org.springframework.data</groupId>
|
||||||
<artifactId>spring-data-neo4j</artifactId>
|
<artifactId>spring-data-neo4j</artifactId>
|
||||||
|
@ -51,24 +36,6 @@
|
||||||
<version>${spring-boot.version}</version>
|
<version>${spring-boot.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>org.neo4j</groupId>
|
|
||||||
<artifactId>neo4j-kernel</artifactId>
|
|
||||||
<version>${neo4j.version}</version>
|
|
||||||
<type>test-jar</type>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.neo4j.app</groupId>
|
|
||||||
<artifactId>neo4j-server</artifactId>
|
|
||||||
<version>${neo4j.version}</version>
|
|
||||||
<type>test-jar</type>
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<artifactId>commons-logging</artifactId>
|
|
||||||
<groupId>commons-logging</groupId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.neo4j</groupId>
|
<groupId>org.neo4j</groupId>
|
||||||
<artifactId>neo4j-ogm-test</artifactId>
|
<artifactId>neo4j-ogm-test</artifactId>
|
||||||
|
@ -89,7 +56,6 @@
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<neo4j-java-driver.version>1.6.2</neo4j-java-driver.version>
|
|
||||||
<neo4j.version>3.4.6</neo4j.version>
|
<neo4j.version>3.4.6</neo4j.version>
|
||||||
<spring-data-neo4j.version>5.0.1.RELEASE</spring-data-neo4j.version>
|
<spring-data-neo4j.version>5.0.1.RELEASE</spring-data-neo4j.version>
|
||||||
<jackson-jsog.version>1.1</jackson-jsog.version>
|
<jackson-jsog.version>1.1</jackson-jsog.version>
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
package com.baeldung.neo4j;
|
|
||||||
|
|
||||||
import java.sql.Connection;
|
|
||||||
import java.sql.DriverManager;
|
|
||||||
import java.sql.ResultSet;
|
|
||||||
import java.sql.Statement;
|
|
||||||
|
|
||||||
import org.junit.Assert;
|
|
||||||
import org.junit.Ignore;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.neo4j.driver.v1.AuthTokens;
|
|
||||||
import org.neo4j.driver.v1.Driver;
|
|
||||||
import org.neo4j.driver.v1.GraphDatabase;
|
|
||||||
import org.neo4j.driver.v1.Session;
|
|
||||||
import org.neo4j.driver.v1.StatementResult;
|
|
||||||
|
|
||||||
@Ignore
|
|
||||||
public class Neo4JServerLiveTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void standAloneDriver() {
|
|
||||||
Driver driver = GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j", "12345"));
|
|
||||||
Session session = driver.session();
|
|
||||||
|
|
||||||
session.run("CREATE (baeldung:Company {name:\"Baeldung\"}) " +
|
|
||||||
"-[:owns]-> (tesla:Car {make: 'tesla', model: 'modelX'})" +
|
|
||||||
"RETURN baeldung, tesla");
|
|
||||||
|
|
||||||
StatementResult result = session.run("MATCH (company:Company)-[:owns]-> (car:Car)" +
|
|
||||||
"WHERE car.make='tesla' and car.model='modelX'" +
|
|
||||||
"RETURN company.name");
|
|
||||||
|
|
||||||
Assert.assertTrue(result.hasNext());
|
|
||||||
Assert.assertEquals(result.next().get("company.name").asString(), "Baeldung");
|
|
||||||
|
|
||||||
session.close();
|
|
||||||
driver.close();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void standAloneJdbc() throws Exception {
|
|
||||||
Connection con = DriverManager.getConnection("jdbc:neo4j:bolt://localhost/?user=neo4j,password=12345,scheme=basic");
|
|
||||||
|
|
||||||
// Querying
|
|
||||||
try (Statement stmt = con.createStatement()) {
|
|
||||||
stmt.execute("CREATE (baeldung:Company {name:\"Baeldung\"}) " +
|
|
||||||
"-[:owns]-> (tesla:Car {make: 'tesla', model: 'modelX'})" +
|
|
||||||
"RETURN baeldung, tesla");
|
|
||||||
|
|
||||||
ResultSet rs = stmt.executeQuery("MATCH (company:Company)-[:owns]-> (car:Car)" +
|
|
||||||
"WHERE car.make='tesla' and car.model='modelX'" +
|
|
||||||
"RETURN company.name");
|
|
||||||
|
|
||||||
while (rs.next()) {
|
|
||||||
Assert.assertEquals(rs.getString("company.name"), "Baeldung");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
con.close();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,167 +0,0 @@
|
||||||
package com.baeldung.neo4j;
|
|
||||||
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.junit.After;
|
|
||||||
import org.junit.Assert;
|
|
||||||
import org.junit.Before;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.neo4j.graphdb.GraphDatabaseService;
|
|
||||||
import org.neo4j.graphdb.Label;
|
|
||||||
import org.neo4j.graphdb.Node;
|
|
||||||
import org.neo4j.graphdb.NotFoundException;
|
|
||||||
import org.neo4j.graphdb.RelationshipType;
|
|
||||||
import org.neo4j.graphdb.Result;
|
|
||||||
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
|
|
||||||
|
|
||||||
public class Neo4jLiveTest {
|
|
||||||
|
|
||||||
private static GraphDatabaseService graphDb;
|
|
||||||
|
|
||||||
@Before
|
|
||||||
public void setUp() {
|
|
||||||
GraphDatabaseFactory graphDbFactory = new GraphDatabaseFactory();
|
|
||||||
graphDb = graphDbFactory.newEmbeddedDatabase(new File("data/cars"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@After
|
|
||||||
public void tearDown() {
|
|
||||||
graphDb.shutdown();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testPersonCar() {
|
|
||||||
graphDb.beginTx();
|
|
||||||
Node car = graphDb.createNode(Label.label("Car"));
|
|
||||||
car.setProperty("make", "tesla");
|
|
||||||
car.setProperty("model", "model3");
|
|
||||||
|
|
||||||
Node owner = graphDb.createNode(Label.label("Person"));
|
|
||||||
owner.setProperty("firstName", "baeldung");
|
|
||||||
owner.setProperty("lastName", "baeldung");
|
|
||||||
|
|
||||||
owner.createRelationshipTo(car, RelationshipType.withName("owner"));
|
|
||||||
|
|
||||||
Result result = graphDb.execute("MATCH (c:Car) <-[owner]- (p:Person) " +
|
|
||||||
"WHERE c.make = 'tesla'" +
|
|
||||||
"RETURN p.firstName, p.lastName");
|
|
||||||
|
|
||||||
Map<String, Object> firstResult = result.next();
|
|
||||||
Assert.assertEquals("baeldung", firstResult.get("p.firstName"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testCreateNode() {
|
|
||||||
|
|
||||||
graphDb.beginTx();
|
|
||||||
|
|
||||||
Result result = graphDb.execute("CREATE (baeldung:Company {name:\"Baeldung\"})" +
|
|
||||||
"RETURN baeldung");
|
|
||||||
|
|
||||||
Map<String, Object> firstResult = result.next();
|
|
||||||
Node firstNode = (Node) firstResult.get("baeldung");
|
|
||||||
Assert.assertEquals(firstNode.getProperty("name"), "Baeldung");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testCreateNodeAndLink() {
|
|
||||||
graphDb.beginTx();
|
|
||||||
|
|
||||||
Result result = graphDb.execute("CREATE (baeldung:Company {name:\"Baeldung\"}) " +
|
|
||||||
"-[:owns]-> (tesla:Car {make: 'tesla', model: 'modelX'})" +
|
|
||||||
"RETURN baeldung, tesla");
|
|
||||||
|
|
||||||
Map<String, Object> firstResult = result.next();
|
|
||||||
Assert.assertTrue(firstResult.containsKey("baeldung"));
|
|
||||||
Assert.assertTrue(firstResult.containsKey("tesla"));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testFindAndReturn() {
|
|
||||||
graphDb.beginTx();
|
|
||||||
|
|
||||||
graphDb.execute("CREATE (baeldung:Company {name:\"Baeldung\"}) " +
|
|
||||||
"-[:owns]-> (tesla:Car {make: 'tesla', model: 'modelX'})" +
|
|
||||||
"RETURN baeldung, tesla");
|
|
||||||
|
|
||||||
Result result = graphDb.execute("MATCH (company:Company)-[:owns]-> (car:Car)" +
|
|
||||||
"WHERE car.make='tesla' and car.model='modelX'" +
|
|
||||||
"RETURN company.name");
|
|
||||||
|
|
||||||
Map<String, Object> firstResult = result.next();
|
|
||||||
Assert.assertEquals(firstResult.get("company.name"), "Baeldung");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testUpdate() {
|
|
||||||
graphDb.beginTx();
|
|
||||||
|
|
||||||
graphDb.execute("CREATE (baeldung:Company {name:\"Baeldung\"}) " +
|
|
||||||
"-[:owns]-> (tesla:Car {make: 'tesla', model: 'modelX'})" +
|
|
||||||
"RETURN baeldung, tesla");
|
|
||||||
|
|
||||||
Result result = graphDb.execute("MATCH (car:Car)" +
|
|
||||||
"WHERE car.make='tesla'" +
|
|
||||||
" SET car.milage=120" +
|
|
||||||
" SET car :Car:Electro" +
|
|
||||||
" SET car.model=NULL" +
|
|
||||||
" RETURN car");
|
|
||||||
|
|
||||||
Map<String, Object> firstResult = result.next();
|
|
||||||
Node car = (Node) firstResult.get("car");
|
|
||||||
|
|
||||||
Assert.assertEquals(car.getProperty("milage"), 120L);
|
|
||||||
Assert.assertEquals(car.getLabels(), Arrays.asList(Label.label("Car"), Label.label("Electro")));
|
|
||||||
|
|
||||||
try {
|
|
||||||
car.getProperty("model");
|
|
||||||
Assert.fail();
|
|
||||||
} catch (NotFoundException e) {
|
|
||||||
// expected
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testDelete() {
|
|
||||||
graphDb.beginTx();
|
|
||||||
|
|
||||||
graphDb.execute("CREATE (baeldung:Company {name:\"Baeldung\"}) " +
|
|
||||||
"-[:owns]-> (tesla:Car {make: 'tesla', model: 'modelX'})" +
|
|
||||||
"RETURN baeldung, tesla");
|
|
||||||
|
|
||||||
graphDb.execute("MATCH (company:Company)" +
|
|
||||||
" WHERE company.name='Baeldung'" +
|
|
||||||
" DELETE company");
|
|
||||||
|
|
||||||
Result result = graphDb.execute("MATCH (company:Company)" +
|
|
||||||
" WHERE company.name='Baeldung'" +
|
|
||||||
" RETURN company");
|
|
||||||
|
|
||||||
Assert.assertFalse(result.hasNext());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testBindings() {
|
|
||||||
graphDb.beginTx();
|
|
||||||
|
|
||||||
Map<String, Object> params = new HashMap<>();
|
|
||||||
params.put("name", "baeldung");
|
|
||||||
params.put("make", "tesla");
|
|
||||||
params.put("model", "modelS");
|
|
||||||
|
|
||||||
Result result = graphDb.execute("CREATE (baeldung:Company {name:$name}) " +
|
|
||||||
"-[:owns]-> (tesla:Car {make: $make, model: $model})" +
|
|
||||||
"RETURN baeldung, tesla", params);
|
|
||||||
|
|
||||||
Map<String, Object> firstResult = result.next();
|
|
||||||
Assert.assertTrue(firstResult.containsKey("baeldung"));
|
|
||||||
Assert.assertTrue(firstResult.containsKey("tesla"));
|
|
||||||
|
|
||||||
Node car = (Node) firstResult.get("tesla");
|
|
||||||
Assert.assertEquals(car.getProperty("model"), "modelS");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,47 +0,0 @@
|
||||||
package com.baeldung.neo4j;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.junit.Assert;
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.neo4j.ogm.config.Configuration;
|
|
||||||
import org.neo4j.ogm.model.Result;
|
|
||||||
import org.neo4j.ogm.session.Session;
|
|
||||||
import org.neo4j.ogm.session.SessionFactory;
|
|
||||||
|
|
||||||
import com.baeldung.spring.data.neo4j.domain.Car;
|
|
||||||
import com.baeldung.spring.data.neo4j.domain.Company;
|
|
||||||
|
|
||||||
public class Neo4jOgmLiveTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testOgm() {
|
|
||||||
Configuration conf = new Configuration.Builder().build();
|
|
||||||
|
|
||||||
SessionFactory factory = new SessionFactory(conf, "com.baeldung.spring.data.neo4j.domain");
|
|
||||||
Session session = factory.openSession();
|
|
||||||
|
|
||||||
Car tesla = new Car("tesla", "modelS");
|
|
||||||
Company baeldung = new Company("baeldung");
|
|
||||||
|
|
||||||
baeldung.setCar(tesla);
|
|
||||||
|
|
||||||
session.save(baeldung);
|
|
||||||
|
|
||||||
Assert.assertEquals(1, session.countEntitiesOfType(Company.class));
|
|
||||||
|
|
||||||
Map<String, String> params = new HashMap<>();
|
|
||||||
params.put("make", "tesla");
|
|
||||||
Result result = session.query("MATCH (car:Car) <-[:owns]- (company:Company)" +
|
|
||||||
" WHERE car.make=$make" +
|
|
||||||
" RETURN company", params);
|
|
||||||
|
|
||||||
Map<String, Object> firstResult = result.iterator().next();
|
|
||||||
|
|
||||||
Assert.assertEquals(firstResult.size(), 1);
|
|
||||||
|
|
||||||
Company actual = (Company) firstResult.get("company");
|
|
||||||
Assert.assertEquals(actual.getName(), baeldung.getName());
|
|
||||||
}
|
|
||||||
}
|
|
2
pom.xml
2
pom.xml
|
@ -369,6 +369,7 @@
|
||||||
<module>persistence-modules/hibernate-ogm</module> <!-- hibernate-ogm wasn't updated because it doesn't support jakarta API -->
|
<module>persistence-modules/hibernate-ogm</module> <!-- hibernate-ogm wasn't updated because it doesn't support jakarta API -->
|
||||||
<module>persistence-modules/java-cassandra</module> <!-- JAVA-21464 cassandra-unit library doesn't support to run with jdk9 and above -->
|
<module>persistence-modules/java-cassandra</module> <!-- JAVA-21464 cassandra-unit library doesn't support to run with jdk9 and above -->
|
||||||
<module>persistence-modules/spring-data-cassandra-reactive</module> <!--JAVA-21844-->
|
<module>persistence-modules/spring-data-cassandra-reactive</module> <!--JAVA-21844-->
|
||||||
|
<module>persistence-modules/spring-data-neo4j</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
</profile>
|
</profile>
|
||||||
|
@ -545,6 +546,7 @@
|
||||||
<module>persistence-modules/hibernate-ogm</module> <!-- hibernate-ogm wasn't updated because it doesn't support jakarta API -->
|
<module>persistence-modules/hibernate-ogm</module> <!-- hibernate-ogm wasn't updated because it doesn't support jakarta API -->
|
||||||
<module>persistence-modules/java-cassandra</module> <!-- JAVA-21464 cassandra-unit library doesn't support to run with jdk9 and above -->
|
<module>persistence-modules/java-cassandra</module> <!-- JAVA-21464 cassandra-unit library doesn't support to run with jdk9 and above -->
|
||||||
<module>persistence-modules/spring-data-cassandra-reactive</module> <!--JAVA-21844-->
|
<module>persistence-modules/spring-data-cassandra-reactive</module> <!--JAVA-21844-->
|
||||||
|
<module>persistence-modules/spring-data-neo4j</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
</profile>
|
</profile>
|
||||||
|
|
Loading…
Reference in New Issue