changeset 66:5b568de5ee0d

updated to new Neo4J version 2.0. doesn't use new features. problems with neo4j admin web ui.
author casties
date Wed, 19 Feb 2014 14:38:31 +0100
parents c0dd5314bada
children 875a97f8b8da
files pom.xml src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java src/main/java/de/mpiwg/itgroup/annotations/restlet/BaseRestlet.java
diffstat 3 files changed, 51 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/pom.xml	Wed Dec 05 15:36:43 2012 +0100
+++ b/pom.xml	Wed Feb 19 14:38:31 2014 +0100
@@ -3,11 +3,12 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>de.mpiwg.itgroup.annotations</groupId>
 	<artifactId>AnnotationManagerN4J</artifactId>
-	<version>0.2.1-SNAPSHOT</version>
+	<version>0.3-SNAPSHOT</version>
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<neo4j-version>1.7.1</neo4j-version>
-		<restlet-version>2.0.14</restlet-version>
+		<neo4j-version>2.0.1</neo4j-version>
+        <restlet-version>2.0.15</restlet-version>
+        <!-- <restlet-version>2.1.7</restlet-version> -->
 	</properties>
 	<repositories>
 		<repository>
@@ -94,8 +95,8 @@
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-compiler-plugin</artifactId>
 					<configuration>
-						<source>1.6</source>
-						<target>1.6</target>
+						<source>1.7</source>
+						<target>1.7</target>
 					</configuration>
 				</plugin>
 			</plugins>
--- a/src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java	Wed Dec 05 15:36:43 2012 +0100
+++ b/src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java	Wed Feb 19 14:38:31 2014 +0100
@@ -62,12 +62,16 @@
         this.graphDb = graphDb;
         nodeIndexes = new ArrayList<Index<Node>>(5);
         // List.set(enum.ordinal(), val) seems not to work.
-        nodeIndexes.add(NodeTypes.ANNOTATION.ordinal(), graphDb.index().forNodes("annotations"));
-        nodeIndexes.add(NodeTypes.PERSON.ordinal(), graphDb.index().forNodes("persons"));
-        nodeIndexes.add(NodeTypes.TARGET.ordinal(), graphDb.index().forNodes("targets"));
-        nodeIndexes.add(NodeTypes.GROUP.ordinal(), graphDb.index().forNodes("groups"));
-        nodeIndexes.add(NodeTypes.TAG.ordinal(), graphDb.index().forNodes("tags"));
-        nodeIndexes.add(NodeTypes.RESOURCE.ordinal(), graphDb.index().forNodes("resources"));
+        try ( Transaction tx = graphDb.beginTx() )
+        {
+            nodeIndexes.add(NodeTypes.ANNOTATION.ordinal(), graphDb.index().forNodes("annotations"));
+            nodeIndexes.add(NodeTypes.PERSON.ordinal(), graphDb.index().forNodes("persons"));
+            nodeIndexes.add(NodeTypes.TARGET.ordinal(), graphDb.index().forNodes("targets"));
+            nodeIndexes.add(NodeTypes.GROUP.ordinal(), graphDb.index().forNodes("groups"));
+            nodeIndexes.add(NodeTypes.TAG.ordinal(), graphDb.index().forNodes("tags"));
+            nodeIndexes.add(NodeTypes.RESOURCE.ordinal(), graphDb.index().forNodes("resources"));
+            tx.success();
+        }
     }
 
     protected Index<Node> getNodeIndex(NodeTypes type) {
@@ -137,10 +141,13 @@
             key = "uri";
             query = "*";
         }
-        IndexHits<Node> actorNodes = idx.query(key, query);
-        for (Node actorNode : actorNodes) {
-            Actor actor = createActorFromNode(actorNode);
-            actors.add((T) actor);
+        try (Transaction tx = graphDb.beginTx()) {
+            IndexHits<Node> actorNodes = idx.query(key, query);
+            for (Node actorNode : actorNodes) {
+                Actor actor = createActorFromNode(actorNode);
+                actors.add((T) actor);
+            }
+            tx.success();
         }
         return actors;
     }
@@ -186,10 +193,13 @@
             key = "uri";
             query = "*";
         }
-        IndexHits<Node> actorNodes = idx.query(key, query);
-        for (Node actorNode : actorNodes) {
-            Uri uri = createUriFromNode(actorNode);
-            uris.add((T) uri);
+        try (Transaction tx = graphDb.beginTx()) {
+            IndexHits<Node> actorNodes = idx.query(key, query);
+            for (Node actorNode : actorNodes) {
+                Uri uri = createUriFromNode(actorNode);
+                uris.add((T) uri);
+            }
+            tx.success();
         }
         return uris;
     }
@@ -232,10 +242,13 @@
             key = "id";
             query = "*";
         }
-        IndexHits<Node> annotNodes = idx.query(key, query);
-        for (Node annotNode : annotNodes) {
-            Annotation annotation = createAnnotationFromNode(annotNode);
-            annotations.add(annotation);
+        try (Transaction tx = graphDb.beginTx()) {
+            IndexHits<Node> annotNodes = idx.query(key, query);
+            for (Node annotNode : annotNodes) {
+                Annotation annotation = createAnnotationFromNode(annotNode);
+                annotations.add(annotation);
+            }
+            tx.success();
         }
         return annotations;
     }
@@ -254,10 +267,13 @@
             key = "uri";
             query = "*";
         }
-        IndexHits<Node> groupNodes = idx.query(key, query);
-        for (Node groupNode : groupNodes) {
-            Tag tag = createTagFromNode(groupNode);
-            tags.add(tag);
+        try (Transaction tx = graphDb.beginTx()) {
+            IndexHits<Node> groupNodes = idx.query(key, query);
+            for (Node groupNode : groupNodes) {
+                Tag tag = createTagFromNode(groupNode);
+                tags.add(tag);
+            }
+            tx.success();
         }
         return tags;
     }
--- a/src/main/java/de/mpiwg/itgroup/annotations/restlet/BaseRestlet.java	Wed Dec 05 15:36:43 2012 +0100
+++ b/src/main/java/de/mpiwg/itgroup/annotations/restlet/BaseRestlet.java	Wed Feb 19 14:38:31 2014 +0100
@@ -20,8 +20,11 @@
 import org.apache.log4j.BasicConfigurator;
 import org.apache.log4j.Logger;
 import org.neo4j.graphdb.GraphDatabaseService;
+import org.neo4j.graphdb.factory.GraphDatabaseBuilder;
 import org.neo4j.graphdb.factory.GraphDatabaseFactory;
+import org.neo4j.graphdb.factory.GraphDatabaseSettings;
 import org.neo4j.kernel.AbstractGraphDatabase;
+import org.neo4j.kernel.GraphDatabaseAPI;
 import org.neo4j.server.WrappingNeoServerBootstrapper;
 import org.restlet.Application;
 import org.restlet.Context;
@@ -177,7 +180,9 @@
                 String dbFn = getResourcePath(sc, graphdbPath);
                 if (dbFn != null) {
                     logger.debug("opening DB " + dbFn);
-                    graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(dbFn);
+                    GraphDatabaseBuilder graphDbBuilder = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(dbFn);
+                    graphDbBuilder.setConfig(GraphDatabaseSettings.allow_store_upgrade, "true");
+                    graphDb = graphDbBuilder.newGraphDatabase();
                     registerShutdownHook(graphDb);
                     // store in context
                     sc.setAttribute(GRAPHDB_KEY, graphDb);
@@ -185,7 +190,7 @@
                     store = new AnnotationStore(graphDb);
                     sc.setAttribute(ANNSTORE_KEY, store);
                     // admin server
-                    srv = new WrappingNeoServerBootstrapper((AbstractGraphDatabase) graphDb);
+                    srv = new WrappingNeoServerBootstrapper((GraphDatabaseAPI) graphDb);
                     logger.debug("Starting DB admin server...");
                     // store in context
                     sc.setAttribute(GRAPHDBSRV_KEY, srv);