Ignore:
File:
1 edited

Legend:

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

    r28 r29  
    212212        }
    213213        return members;
     214    }
     215   
     216    /**
     217     * Add Person newMember to Group group.
     218     *
     219     * @param group
     220     * @param member
     221     */
     222    public Person addGroupMember(Group group, Person member) {
     223        Node gn = getActorNode(group);
     224        Node pn = getActorNode(member);
     225        Person addedMember = null;
     226        if (gn != null && pn != null) {
     227            getOrCreateRelation(pn, RelationTypes.MEMBER_OF, gn);
     228            addedMember = member;
     229        }
     230        return addedMember;
     231    }
     232   
     233    /**
     234     * Delete Person oldMember from Group group.
     235     *
     236     * @param group
     237     * @param member
     238     */
     239    public void deleteGroupMember(Group group, Person member) {
     240        Node gn = getActorNode(group);
     241        Iterable<Relationship> rels = gn.getRelationships(RelationTypes.MEMBER_OF);
     242        for (Relationship rel : rels) {
     243            Node mn = rel.getStartNode();
     244            if (mn.equals(member)) {
     245                rel.delete();
     246                // there should be only one
     247                break;
     248            }
     249        }       
    214250    }
    215251   
Note: See TracChangeset for help on using the changeset viewer.