comparison src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java @ 43:d1bef7952bec

more work on resources and targets.
author casties
date Wed, 26 Sep 2012 16:27:52 +0200
parents aa2bb7ac04d9
children 707902d468f6
comparison
equal deleted inserted replaced
42:aa2bb7ac04d9 43:d1bef7952bec
90 */ 90 */
91 public Node getTagNodeByUri(String tagUri) { 91 public Node getTagNodeByUri(String tagUri) {
92 if (tagUri == null) return null; 92 if (tagUri == null) return null;
93 Node person = getNodeIndex(NodeTypes.TAG).get("uri", tagUri).getSingle(); 93 Node person = getNodeIndex(NodeTypes.TAG).get("uri", tagUri).getSingle();
94 return person; 94 return person;
95 }
96
97 /**
98 * @param resourceUri
99 * @return
100 */
101 public Node getResourceNodeByUri(String resourceUri) {
102 return getNodeFromIndex("uri", resourceUri, NodeTypes.RESOURCE);
103 }
104
105 /**
106 * @param targetUri
107 * @return
108 */
109 public Node getTargetNodeByUri(String targetUri) {
110 return getNodeFromIndex("uri", targetUri, NodeTypes.RESOURCE);
95 } 111 }
96 112
97 /** 113 /**
98 * Returns the Node with the given key and value. 114 * Returns the Node with the given key and value.
99 * Key has to be indexed. 115 * Key has to be indexed.
564 580
565 return new Tag(id, uri, name); 581 return new Tag(id, uri, name);
566 582
567 } 583 }
568 584
585 /**
586 * @param resourceNode
587 * @return
588 */
589 public Resource createResourceFromNode(Node resourceNode) {
590 return (Resource) createUriFromNode(resourceNode);
591 }
592
593 /**
594 * @param targetNode
595 * @return
596 */
597 public Target createTargetFromNode(Node targetNode) {
598 return (Target) createUriFromNode(targetNode);
599 }
600
601
569 protected Uri createUriFromNode(Node uriNode) { 602 protected Uri createUriFromNode(Node uriNode) {
570 if (uriNode == null) return null; 603 if (uriNode == null) return null;
571 String uri = (String) uriNode.getProperty("uri", null); 604 String uri = (String) uriNode.getProperty("uri", null);
572 String type = (String) uriNode.getProperty("TYPE", null); 605 String type = (String) uriNode.getProperty("TYPE", null);
573 if (type != null && type.equals("TARGET")) { 606 if (type != null && type.equals("TARGET")) {
1070 public List<Annotation> getAnnotationsByResource(String resourceUri) { 1103 public List<Annotation> getAnnotationsByResource(String resourceUri) {
1071 ArrayList<Annotation> ret = new ArrayList<Annotation>(); 1104 ArrayList<Annotation> ret = new ArrayList<Annotation>();
1072 Node tag = getNodeFromIndex("uri", resourceUri, NodeTypes.RESOURCE); 1105 Node tag = getNodeFromIndex("uri", resourceUri, NodeTypes.RESOURCE);
1073 Iterable<Relationship> rels = tag.getRelationships(Direction.INCOMING, RelationTypes.ANNOTATES); 1106 Iterable<Relationship> rels = tag.getRelationships(Direction.INCOMING, RelationTypes.ANNOTATES);
1074 for (Relationship rel : rels) { 1107 for (Relationship rel : rels) {
1075 Node node = rel.getStartNode(); 1108 Node an = rel.getStartNode();
1076 ret.add(createAnnotationFromNode(node)); 1109 Node rn = rel.getEndNode();
1110 if (rn.getProperty("TYPE", "").equals("RESOURCE")) {
1111 logger.error("getAnnotationsByResource got ANNOTATES != RESOURCE");
1112 }
1113 ret.add(createAnnotationFromNode(an));
1077 } 1114 }
1078 return ret; 1115 return ret;
1079 } 1116 }
1080 1117
1081 } 1118 }