Ignore:
Timestamp:
Sep 24, 2012, 9:36:33 AM (12 years ago)
Author:
casties
Branch:
default
Message:

adding and deleting group members.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/de/mpiwg/itgroup/annotations/neo4j/AnnotationStore.java

    r24 r25  
    176176        }
    177177        return members;
     178    }
     179   
     180    /**
     181     * Add Person newMember to Group group.
     182     *
     183     * @param group
     184     * @param member
     185     */
     186    public Person addGroupMember(Group group, Person member) {
     187        Node gn = getActorNode(group);
     188        Node pn = getActorNode(member);
     189        Person addedMember = null;
     190        if (gn != null && pn != null) {
     191            getOrCreateRelation(pn, RelationTypes.MEMBER_OF, gn);
     192            addedMember = member;
     193        }
     194        return addedMember;
     195    }
     196   
     197    /**
     198     * Delete Person oldMember from Group group.
     199     *
     200     * @param group
     201     * @param member
     202     */
     203    public void deleteGroupMember(Group group, Person member) {
     204        Node gn = getActorNode(group);
     205        Iterable<Relationship> rels = gn.getRelationships(RelationTypes.MEMBER_OF);
     206        for (Relationship rel : rels) {
     207            Node mn = rel.getStartNode();
     208            if (mn.equals(member)) {
     209                rel.delete();
     210                // there should be only one
     211                break;
     212            }
     213        }       
    178214    }
    179215   
Note: See TracChangeset for help on using the changeset viewer.