diff --git a/spring-data-neo4j-cross-store/src/test/resources/org/springframework/data/neo4j/partial/Neo4jGraphRecommendationTest-context.xml b/spring-data-neo4j-cross-store/src/test/resources/org/springframework/data/neo4j/partial/Neo4jGraphRecommendationTest-context.xml index 96beb27fc..90de13d58 100644 --- a/spring-data-neo4j-cross-store/src/test/resources/org/springframework/data/neo4j/partial/Neo4jGraphRecommendationTest-context.xml +++ b/spring-data-neo4j-cross-store/src/test/resources/org/springframework/data/neo4j/partial/Neo4jGraphRecommendationTest-context.xml @@ -141,7 +141,7 @@ - + @@ -149,7 +149,6 @@ - diff --git a/spring-data-neo4j-parent/pom.xml b/spring-data-neo4j-parent/pom.xml index d27cf6a8c..9adfadd3b 100644 --- a/spring-data-neo4j-parent/pom.xml +++ b/spring-data-neo4j-parent/pom.xml @@ -128,7 +128,7 @@ [${org.springframework.version.30}, ${org.springframework.version.40}) 1.2.1.RELEASE 1.7-SNAPSHOT - 0.7 + 0.8-SNAPSHOT 1.6.12 1.2 1.5 diff --git a/spring-data-neo4j-rest/pom.xml b/spring-data-neo4j-rest/pom.xml index 42ef4ad6d..42e47c77b 100644 --- a/spring-data-neo4j-rest/pom.xml +++ b/spring-data-neo4j-rest/pom.xml @@ -38,7 +38,7 @@ org.neo4j neo4j-rest-graphdb - 1.6 + 1.7-SNAPSHOT org.neo4j @@ -57,6 +57,12 @@ true test + + org.neo4j + neo4j-shell + ${neo4j.version} + test + org.neo4j.server.plugin neo4j-gremlin-plugin @@ -111,10 +117,6 @@ org.apache.felix org.apache.felix.fileinstall - - org.neo4j - neo4j-shell - org.slf4j slf4j-jdk14 diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jConfiguration.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jConfiguration.java index 00afaa0fa..ab90c3e7b 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jConfiguration.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/config/Neo4jConfiguration.java @@ -19,7 +19,7 @@ package org.springframework.data.neo4j.config; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Relationship; -import org.neo4j.kernel.AbstractGraphDatabase; +import org.neo4j.kernel.GraphDatabaseAPI; import org.neo4j.kernel.impl.transaction.SpringTransactionManager; import org.neo4j.kernel.impl.transaction.UserTransactionImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -244,8 +244,8 @@ public abstract class Neo4jConfiguration { protected JtaTransactionManager createJtaTransactionManager() { JtaTransactionManager jtaTm = new JtaTransactionManager(); final GraphDatabaseService gds = getGraphDatabaseService(); - if (gds instanceof AbstractGraphDatabase) { - final TransactionManager txManager = ((AbstractGraphDatabase) gds).getTxManager(); + if (gds instanceof GraphDatabaseAPI) { + final TransactionManager txManager = ((GraphDatabaseAPI) gds).getTxManager(); jtaTm.setTransactionManager(new SpringTransactionManager(gds)); jtaTm.setUserTransaction(new UserTransactionImpl(txManager)); } else { diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/query/QueryTemplates.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/query/QueryTemplates.java index 3a8969751..d5eb7c48d 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/query/QueryTemplates.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/query/QueryTemplates.java @@ -40,8 +40,8 @@ public abstract class QueryTemplates { static final String SKIP_LIMIT = " skip %d limit %d"; static final String START_CLAUSE = "`%s`=node:`%s`(`%s`=" + PLACEHOLDER + ")"; static final String START_CLAUSE_FULLTEXT = "`%s`=node:`%s`(" + PLACEHOLDER + ")"; - static final String WHERE_CLAUSE_1 = "`%1$s`.`%2$s` AND `%1$s`.`%2$s` %3$s {%4$d}"; - static final String WHERE_CLAUSE_0 = "`%1$s`.`%2$s` AND `%1$s`.`%2$s` %3$s "; + static final String WHERE_CLAUSE_1 = "`%1$s`.`%2$s`! %3$s {%4$d}"; + static final String WHERE_CLAUSE_0 = "`%1$s`.`%2$s`! %3$s "; static final String SORT_CLAUSE = "%s %s"; static final String ORDER_BY_CLAUSE = " order by %s"; diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/DelegatingGraphDatabase.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/DelegatingGraphDatabase.java index 72143e538..73502d2c0 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/DelegatingGraphDatabase.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/DelegatingGraphDatabase.java @@ -26,6 +26,7 @@ import org.neo4j.graphdb.index.IndexManager; import org.neo4j.graphdb.index.UniqueFactory; import org.neo4j.graphdb.traversal.TraversalDescription; import org.neo4j.kernel.AbstractGraphDatabase; +import org.neo4j.kernel.GraphDatabaseAPI; import org.neo4j.kernel.Traversal; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -202,11 +203,11 @@ public class DelegatingGraphDatabase implements GraphDatabase { @Override public boolean transactionIsRunning() { - if (!(delegate instanceof AbstractGraphDatabase)) { + if (!(delegate instanceof GraphDatabaseAPI)) { return true; // assume always running tx (e.g. for REST or other remotes) } try { - final TransactionManager txManager = ((AbstractGraphDatabase) delegate).getTxManager(); + final TransactionManager txManager = ((GraphDatabaseAPI) delegate).getTxManager(); return txManager.getStatus() != Status.STATUS_NO_TRANSACTION; } catch (SystemException e) { log.error("Error accessing TransactionManager", e); diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTest.java index b0a508f8e..43fc10f64 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTest.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/DataGraphNamespaceHandlerTest.java @@ -23,6 +23,7 @@ import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.kernel.AbstractGraphDatabase; import org.neo4j.kernel.EmbeddedGraphDatabase; import org.neo4j.kernel.HighlyAvailableGraphDatabase; +import org.neo4j.kernel.configuration.Config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.core.convert.ConversionService; @@ -76,7 +77,7 @@ public class DataGraphNamespaceHandlerTest { final Config config = assertInjected("-external-embedded"); final AbstractGraphDatabase gds = (AbstractGraphDatabase) config.graphDatabaseService; assertEquals(EmbeddedGraphDatabase.class, gds.getClass()); - final org.neo4j.kernel.Config neoConfig = gds.getConfig(); + final org.neo4j.kernel.configuration.Config neoConfig = gds.getConfig(); assertEquals("true", neoConfig.getParams().get("allow_store_upgrade")); } @Test @@ -84,7 +85,7 @@ public class DataGraphNamespaceHandlerTest { public void injectionForExistingHighlyAvailableGraphDatabaseService() { final Config config = assertInjected("-external-ha"); final AbstractGraphDatabase gds = (AbstractGraphDatabase) config.graphDatabaseService; - final org.neo4j.kernel.Config neoConfig = gds.getConfig(); + final org.neo4j.kernel.configuration.Config neoConfig = gds.getConfig(); assertEquals(HighlyAvailableGraphDatabase.class, gds.getClass()); assertEquals("1", neoConfig.getParams().get("ha.server_id")); } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/TestTransactionManagerFactoryBean.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/TestTransactionManagerFactoryBean.java index 30dd2b18c..a3a68e871 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/TestTransactionManagerFactoryBean.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/config/TestTransactionManagerFactoryBean.java @@ -18,6 +18,7 @@ package org.springframework.data.neo4j.config; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.kernel.AbstractGraphDatabase; +import org.neo4j.kernel.GraphDatabaseAPI; import org.neo4j.kernel.impl.transaction.SpringTransactionManager; import org.neo4j.kernel.impl.transaction.UserTransactionImpl; import org.springframework.beans.factory.FactoryBean; @@ -51,8 +52,8 @@ public class TestTransactionManagerFactoryBean implements FactoryBean {0} return `person`")); + assertThat(query.toString(), is(DEFAULT_START_CLAUSE+" where `person`.`age`! > {0} return `person`")); } @Test public void createsQueryForTwoPropertyExpressions() { @@ -82,7 +82,7 @@ public class CypherQueryBuilderUnitTests { query.addRestriction(new Part("ageGreaterThan", Person.class)); query.addRestriction(new Part("info", Person.class)); - assertThat(query.toString(), is(DEFAULT_START_CLAUSE+" where `person`.`age` AND `person`.`age` > {0} and `person`.`info` AND `person`.`info` = {1} return `person`")); + assertThat(query.toString(), is(DEFAULT_START_CLAUSE+" where `person`.`age`! > {0} and `person`.`info`! = {1} return `person`")); } @Test @@ -91,7 +91,7 @@ public class CypherQueryBuilderUnitTests { Part part = new Part("ageIsNull", Person.class); query.addRestriction(part); - assertThat(query.toString(), is(DEFAULT_START_CLAUSE+" where `person`.`age` AND `person`.`age` is null return `person`")); + assertThat(query.toString(), is(DEFAULT_START_CLAUSE+" where `person`.`age`! is null return `person`")); } @Test @@ -119,7 +119,7 @@ public class CypherQueryBuilderUnitTests { query.addRestriction(new Part("age", Person.class)); final String className = Person.class.getName(); - assertThat(query.toString(), is(DEFAULT_START_CLAUSE +" where `person`.`age` AND `person`.`age` = {0} return `person`")); + assertThat(query.toString(), is(DEFAULT_START_CLAUSE +" where `person`.`age`! = {0} return `person`")); } @Test public void createsSimpleTraversalClauseCorrectly() { @@ -140,7 +140,7 @@ public class CypherQueryBuilderUnitTests { assertThat(query.toString(), is( "start `person`=node:`Person`(`name`={0}), `person_group`=node:`Group`(`name`={1}) " + "match `person`<-[:`members`]-`person_group`, `person`<-[:`members`]-`person_group`-[:`members`]->`person_group_members` " + - "where `person`.`age` AND `person`.`age` > {2} and `person_group_members`.`age` AND `person_group_members`.`age` = {3} " + + "where `person`.`age`! > {2} and `person_group_members`.`age`! = {3} " + "return `person`" )); } diff --git a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/transaction/JOTMIntegrationTest.java b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/transaction/JOTMIntegrationTest.java index f6a71ee88..ed293ae15 100644 --- a/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/transaction/JOTMIntegrationTest.java +++ b/spring-data-neo4j/src/test/java/org/springframework/data/neo4j/transaction/JOTMIntegrationTest.java @@ -24,8 +24,7 @@ import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.NotFoundException; import org.neo4j.kernel.AbstractGraphDatabase; -import org.neo4j.kernel.Config; -import org.neo4j.kernel.EmbeddedGraphDatabase; +import org.neo4j.kernel.configuration.Config; import org.objectweb.jotm.Current; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.data.neo4j.support.node.Neo4jHelper; @@ -35,7 +34,6 @@ import org.springframework.transaction.jta.ManagedTransactionAdapter; import javax.transaction.NotSupportedException; import javax.transaction.SystemException; import javax.transaction.Transaction; -import java.util.Map; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull;