# HG changeset patch # User dwinter # Date 1348558526 -7200 # Node ID 3be0ebb6d5ad84db925feecfbf2d2fa2b0ee3516 # Parent f4ed2ed33e5badeb7a72a702b775ac6817feff03# Parent 6bc918105c9a9f7639eb8cbaf518c08d99a6058c Merge with 1cf7203009f26a8a55fc387adcb8ae6ca681520c diff -r f4ed2ed33e5b -r 3be0ebb6d5ad src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java --- a/src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java Tue Sep 25 09:32:56 2012 +0200 +++ b/src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java Tue Sep 25 09:35:26 2012 +0200 @@ -214,6 +214,42 @@ } /** + * Add Person newMember to Group group. + * + * @param group + * @param member + */ + public Person addGroupMember(Group group, Person member) { + Node gn = getActorNode(group); + Node pn = getActorNode(member); + Person addedMember = null; + if (gn != null && pn != null) { + getOrCreateRelation(pn, RelationTypes.MEMBER_OF, gn); + addedMember = member; + } + return addedMember; + } + + /** + * Delete Person oldMember from Group group. + * + * @param group + * @param member + */ + public void deleteGroupMember(Group group, Person member) { + Node gn = getActorNode(group); + Iterable rels = gn.getRelationships(RelationTypes.MEMBER_OF); + for (Relationship rel : rels) { + Node mn = rel.getStartNode(); + if (mn.equals(member)) { + rel.delete(); + // there should be only one + break; + } + } + } + + /** * Returns the stored Actor matching the given one. * * @param actor diff -r f4ed2ed33e5b -r 3be0ebb6d5ad src/main/java/de/mpiwg/itgroup/annotations/restlet/annotations_ui/GroupMembersResource.java --- a/src/main/java/de/mpiwg/itgroup/annotations/restlet/annotations_ui/GroupMembersResource.java Tue Sep 25 09:32:56 2012 +0200 +++ b/src/main/java/de/mpiwg/itgroup/annotations/restlet/annotations_ui/GroupMembersResource.java Tue Sep 25 09:35:26 2012 +0200 @@ -46,13 +46,15 @@ result = "\n

Group members

\n"; result += String.format("

Group: %s (%s)

\n", group.getName(), groupsUrl, group.getId()); result += "

Members:

\n"; + result += String.format("
", thisUrl); result += ""; List members = store.getMembersOfGroup(group); for (Person p : members) { result += String.format("", p.getName(), p.getIdString()); - //result += String.format("\n", p.getName(), p.getIdString()); + result += String.format("\n", p.getIdString()); } result += "
%s(%s)
\n"; + result += "
\n"; result += String.format("
\n", thisUrl); result += "

Add new member: