# HG changeset patch # User casties # Date 1348479393 -7200 # Node ID 2140ef1075514ce049ce66863cde3deabe471b3b # Parent e208a7b1a37ad58c188464cb3b38d74f1b090f61 adding and deleting group members. diff -r e208a7b1a37a -r 2140ef107551 src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java --- a/src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java Sun Sep 23 16:28:05 2012 +0200 +++ b/src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java Mon Sep 24 11:36:33 2012 +0200 @@ -178,6 +178,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 e208a7b1a37a -r 2140ef107551 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 Sun Sep 23 16:28:05 2012 +0200 +++ b/src/main/java/de/mpiwg/itgroup/annotations/restlet/annotations_ui/GroupMembersResource.java Mon Sep 24 11:36:33 2012 +0200 @@ -47,12 +47,14 @@ result += String.format("

Group: %s (%s)

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

Members:

\n"; result += ""; + result += String.format("", thisUrl); 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: