comparison 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
comparison
equal deleted inserted replaced
65:c0dd5314bada 66:5b568de5ee0d
60 public AnnotationStore(GraphDatabaseService graphDb) { 60 public AnnotationStore(GraphDatabaseService graphDb) {
61 super(); 61 super();
62 this.graphDb = graphDb; 62 this.graphDb = graphDb;
63 nodeIndexes = new ArrayList<Index<Node>>(5); 63 nodeIndexes = new ArrayList<Index<Node>>(5);
64 // List.set(enum.ordinal(), val) seems not to work. 64 // List.set(enum.ordinal(), val) seems not to work.
65 nodeIndexes.add(NodeTypes.ANNOTATION.ordinal(), graphDb.index().forNodes("annotations")); 65 try ( Transaction tx = graphDb.beginTx() )
66 nodeIndexes.add(NodeTypes.PERSON.ordinal(), graphDb.index().forNodes("persons")); 66 {
67 nodeIndexes.add(NodeTypes.TARGET.ordinal(), graphDb.index().forNodes("targets")); 67 nodeIndexes.add(NodeTypes.ANNOTATION.ordinal(), graphDb.index().forNodes("annotations"));
68 nodeIndexes.add(NodeTypes.GROUP.ordinal(), graphDb.index().forNodes("groups")); 68 nodeIndexes.add(NodeTypes.PERSON.ordinal(), graphDb.index().forNodes("persons"));
69 nodeIndexes.add(NodeTypes.TAG.ordinal(), graphDb.index().forNodes("tags")); 69 nodeIndexes.add(NodeTypes.TARGET.ordinal(), graphDb.index().forNodes("targets"));
70 nodeIndexes.add(NodeTypes.RESOURCE.ordinal(), graphDb.index().forNodes("resources")); 70 nodeIndexes.add(NodeTypes.GROUP.ordinal(), graphDb.index().forNodes("groups"));
71 nodeIndexes.add(NodeTypes.TAG.ordinal(), graphDb.index().forNodes("tags"));
72 nodeIndexes.add(NodeTypes.RESOURCE.ordinal(), graphDb.index().forNodes("resources"));
73 tx.success();
74 }
71 } 75 }
72 76
73 protected Index<Node> getNodeIndex(NodeTypes type) { 77 protected Index<Node> getNodeIndex(NodeTypes type) {
74 return nodeIndexes.get(type.ordinal()); 78 return nodeIndexes.get(type.ordinal());
75 } 79 }
135 Index<Node> idx = getNodeIndex(type); 139 Index<Node> idx = getNodeIndex(type);
136 if (key == null) { 140 if (key == null) {
137 key = "uri"; 141 key = "uri";
138 query = "*"; 142 query = "*";
139 } 143 }
140 IndexHits<Node> actorNodes = idx.query(key, query); 144 try (Transaction tx = graphDb.beginTx()) {
141 for (Node actorNode : actorNodes) { 145 IndexHits<Node> actorNodes = idx.query(key, query);
142 Actor actor = createActorFromNode(actorNode); 146 for (Node actorNode : actorNodes) {
143 actors.add((T) actor); 147 Actor actor = createActorFromNode(actorNode);
148 actors.add((T) actor);
149 }
150 tx.success();
144 } 151 }
145 return actors; 152 return actors;
146 } 153 }
147 154
148 /** 155 /**
184 Index<Node> idx = getNodeIndex(type); 191 Index<Node> idx = getNodeIndex(type);
185 if (key == null) { 192 if (key == null) {
186 key = "uri"; 193 key = "uri";
187 query = "*"; 194 query = "*";
188 } 195 }
189 IndexHits<Node> actorNodes = idx.query(key, query); 196 try (Transaction tx = graphDb.beginTx()) {
190 for (Node actorNode : actorNodes) { 197 IndexHits<Node> actorNodes = idx.query(key, query);
191 Uri uri = createUriFromNode(actorNode); 198 for (Node actorNode : actorNodes) {
192 uris.add((T) uri); 199 Uri uri = createUriFromNode(actorNode);
200 uris.add((T) uri);
201 }
202 tx.success();
193 } 203 }
194 return uris; 204 return uris;
195 } 205 }
196 206
197 /** 207 /**
230 Index<Node> idx = getNodeIndex(NodeTypes.ANNOTATION); 240 Index<Node> idx = getNodeIndex(NodeTypes.ANNOTATION);
231 if (key == null) { 241 if (key == null) {
232 key = "id"; 242 key = "id";
233 query = "*"; 243 query = "*";
234 } 244 }
235 IndexHits<Node> annotNodes = idx.query(key, query); 245 try (Transaction tx = graphDb.beginTx()) {
236 for (Node annotNode : annotNodes) { 246 IndexHits<Node> annotNodes = idx.query(key, query);
237 Annotation annotation = createAnnotationFromNode(annotNode); 247 for (Node annotNode : annotNodes) {
238 annotations.add(annotation); 248 Annotation annotation = createAnnotationFromNode(annotNode);
249 annotations.add(annotation);
250 }
251 tx.success();
239 } 252 }
240 return annotations; 253 return annotations;
241 } 254 }
242 255
243 /** 256 /**
252 Index<Node> idx = getNodeIndex(NodeTypes.TAG); 265 Index<Node> idx = getNodeIndex(NodeTypes.TAG);
253 if (key == null) { 266 if (key == null) {
254 key = "uri"; 267 key = "uri";
255 query = "*"; 268 query = "*";
256 } 269 }
257 IndexHits<Node> groupNodes = idx.query(key, query); 270 try (Transaction tx = graphDb.beginTx()) {
258 for (Node groupNode : groupNodes) { 271 IndexHits<Node> groupNodes = idx.query(key, query);
259 Tag tag = createTagFromNode(groupNode); 272 for (Node groupNode : groupNodes) {
260 tags.add(tag); 273 Tag tag = createTagFromNode(groupNode);
274 tags.add(tag);
275 }
276 tx.success();
261 } 277 }
262 return tags; 278 return tags;
263 } 279 }
264 280
265 /** 281 /**