diff --git a/spring-data-neo4j-parent/pom.xml b/spring-data-neo4j-parent/pom.xml index 017399ef0..d27cf6a8c 100644 --- a/spring-data-neo4j-parent/pom.xml +++ b/spring-data-neo4j-parent/pom.xml @@ -127,12 +127,12 @@ 4.0.0.RELEASE [${org.springframework.version.30}, ${org.springframework.version.40}) 1.2.1.RELEASE - 1.6 + 1.7-SNAPSHOT 0.7 1.6.12 - 1.1 - 1.4 - 1.4 + 1.2 + 1.5 + 1.5 @@ -394,6 +394,7 @@ neo4j-management + true @@ -402,12 +403,6 @@ ${blueprints.version} true - - com.tinkerpop.blueprints - blueprints-neo4j-graph - ${blueprints.version} - true - com.tinkerpop.gremlin 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 d68421bfb..00afaa0fa 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 @@ -60,6 +60,7 @@ import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.jta.JtaTransactionManager; import org.springframework.transaction.jta.UserTransactionAdapter; +import javax.transaction.TransactionManager; import javax.validation.Validator; import static java.util.Arrays.asList; @@ -244,8 +245,9 @@ public abstract class Neo4jConfiguration { JtaTransactionManager jtaTm = new JtaTransactionManager(); final GraphDatabaseService gds = getGraphDatabaseService(); if (gds instanceof AbstractGraphDatabase) { + final TransactionManager txManager = ((AbstractGraphDatabase) gds).getTxManager(); jtaTm.setTransactionManager(new SpringTransactionManager(gds)); - jtaTm.setUserTransaction(new UserTransactionImpl(gds)); + jtaTm.setUserTransaction(new UserTransactionImpl(txManager)); } else { final NullTransactionManager tm = new NullTransactionManager(); jtaTm.setTransactionManager(tm); 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 958dca0c8..72143e538 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 @@ -206,7 +206,7 @@ public class DelegatingGraphDatabase implements GraphDatabase { return true; // assume always running tx (e.g. for REST or other remotes) } try { - final TransactionManager txManager = ((AbstractGraphDatabase) delegate).getConfig().getTxModule().getTxManager(); + final TransactionManager txManager = ((AbstractGraphDatabase) 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/main/java/org/springframework/data/neo4j/support/query/GremlinExecutor.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/query/GremlinExecutor.java index a1742c84a..48c4f49ef 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/query/GremlinExecutor.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/support/query/GremlinExecutor.java @@ -21,7 +21,8 @@ import com.tinkerpop.blueprints.pgm.Vertex; import com.tinkerpop.blueprints.pgm.impls.neo4j.Neo4jEdge; import com.tinkerpop.blueprints.pgm.impls.neo4j.Neo4jGraph; import com.tinkerpop.blueprints.pgm.impls.neo4j.Neo4jVertex; -import com.tinkerpop.pipes.util.Table; +import com.tinkerpop.pipes.util.structures.Row; +import com.tinkerpop.pipes.util.structures.Table; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.helpers.collection.IterableWrapper; import org.slf4j.Logger; @@ -89,9 +90,9 @@ public class GremlinExecutor { if (result instanceof Iterable) { if (result instanceof Table) { final Table table = (Table) result; - return new IterableWrapper,Table.Row>(table) { + return new IterableWrapper,Row>(table) { @Override - protected Map underlyingObjectToObject(Table.Row row) { + protected Map underlyingObjectToObject(Row row) { Map result=new LinkedHashMap(); for (String column : table.getColumnNames()) { result.put(column, row.getColumn(column)); diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/transaction/SpringProvider.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/transaction/SpringProvider.java index 831be9ec3..b6b1001f7 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/transaction/SpringProvider.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/transaction/SpringProvider.java @@ -35,7 +35,7 @@ public class SpringProvider extends TransactionManagerProvider } @Override - protected AbstractTransactionManager loadTransactionManager(String s, KernelPanicEventGenerator kernelPanicEventGenerator, TxHook txHook, StringLogger stringLogger, FileSystemAbstraction fileSystemAbstraction) { + public AbstractTransactionManager loadTransactionManager(String s, KernelPanicEventGenerator kernelPanicEventGenerator, TxHook txHook, StringLogger stringLogger, FileSystemAbstraction fileSystemAbstraction) { return new SpringServiceImpl(); } } diff --git a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/transaction/SpringServiceImpl.java b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/transaction/SpringServiceImpl.java index 3016c9a4c..d7dd8a4c4 100644 --- a/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/transaction/SpringServiceImpl.java +++ b/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/transaction/SpringServiceImpl.java @@ -40,11 +40,20 @@ class SpringServiceImpl extends AbstractTransactionManager } @Override - public void init( XaDataSourceManager xaDsManager ) - { + public void init() throws Throwable { delegate = jtaTransactionManager.getTransactionManager(); } + @Override + public void start() throws Throwable { + + } + + @Override + public void shutdown() throws Throwable { + + } + public void begin() throws NotSupportedException, SystemException { delegate.begin(); 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 6acc96016..30dd2b18c 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 @@ -24,6 +24,8 @@ import org.springframework.beans.factory.FactoryBean; import org.springframework.transaction.jta.JtaTransactionManager; import org.springframework.transaction.jta.UserTransactionAdapter; +import javax.transaction.TransactionManager; + /** * @author mh * @since 09.04.11 @@ -50,8 +52,9 @@ public class TestTransactionManagerFactoryBean implements FactoryBean config = ((EmbeddedGraphDatabase) gds).getConfig().getParams(); - assertEquals("spring-jta", config.get(Config.TXMANAGER_IMPLEMENTATION)); + final Config config = ((AbstractGraphDatabase) gds).getConfig(); + assertEquals("spring-jta", config.getParams().get(Config.TXMANAGER_IMPLEMENTATION)); JtaTransactionManager tm = ctx.getBean("transactionManager", JtaTransactionManager.class); Transaction transaction = tm.createTransaction("jotm", 1000);