diff src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java @ 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 9f8c9611848a
children 875a97f8b8da
line wrap: on
line diff
--- 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;
     }