Search in sources :

Example 1 with GroupImpl

use of org.olat.basesecurity.model.GroupImpl in project OpenOLAT by OpenOLAT.

the class GroupDAO method addMembershipTwoWay.

/**
 * Add a membership to the group, in the set of the group too which can be
 * reloaded.
 */
public GroupMembership addMembershipTwoWay(Group group, Identity identity, String role) {
    GroupMembershipImpl membership = new GroupMembershipImpl();
    membership.setCreationDate(new Date());
    membership.setLastModified(new Date());
    membership.setGroup(group);
    membership.setIdentity(identity);
    membership.setRole(role);
    dbInstance.getCurrentEntityManager().persist(membership);
    Set<GroupMembership> members = ((GroupImpl) group).getMembers();
    if (members == null) {
        members = new HashSet<>();
        ((GroupImpl) group).setMembers(members);
    }
    members.add(membership);
    return membership;
}
Also used : GroupImpl(org.olat.basesecurity.model.GroupImpl) GroupMembership(org.olat.basesecurity.GroupMembership) GroupMembershipImpl(org.olat.basesecurity.model.GroupMembershipImpl) Date(java.util.Date)

Example 2 with GroupImpl

use of org.olat.basesecurity.model.GroupImpl in project OpenOLAT by OpenOLAT.

the class GroupDAO method createGroup.

public Group createGroup() {
    GroupImpl group = new GroupImpl();
    group.setCreationDate(new Date());
    dbInstance.getCurrentEntityManager().persist(group);
    return group;
}
Also used : GroupImpl(org.olat.basesecurity.model.GroupImpl) Date(java.util.Date)

Example 3 with GroupImpl

use of org.olat.basesecurity.model.GroupImpl in project OpenOLAT by OpenOLAT.

the class GroupDAO method removeGroup.

public Group removeGroup(Group group) {
    EntityManager em = dbInstance.getCurrentEntityManager();
    GroupImpl reloadedGroup = em.getReference(GroupImpl.class, group.getKey());
    em.remove(reloadedGroup);
    return group;
}
Also used : EntityManager(javax.persistence.EntityManager) GroupImpl(org.olat.basesecurity.model.GroupImpl)

Example 4 with GroupImpl

use of org.olat.basesecurity.model.GroupImpl in project OpenOLAT by OpenOLAT.

the class GroupDAO method createGroup.

public Group createGroup(String name) {
    GroupImpl group = new GroupImpl();
    group.setCreationDate(new Date());
    group.setName(name);
    dbInstance.getCurrentEntityManager().persist(group);
    return group;
}
Also used : GroupImpl(org.olat.basesecurity.model.GroupImpl) Date(java.util.Date)

Example 5 with GroupImpl

use of org.olat.basesecurity.model.GroupImpl in project OpenOLAT by OpenOLAT.

the class GroupDAOTest method createGroupMembership_v2.

@Test
public void createGroupMembership_v2() {
    Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("bgrp-1-");
    Group group = groupDao.createGroup();
    GroupMembership membership = groupDao.addMembershipTwoWay(group, id, "author");
    dbInstance.commit();
    Assert.assertNotNull(membership);
    dbInstance.getCurrentEntityManager().detach(group);
    dbInstance.commitAndCloseSession();
    GroupImpl loadedGroup = (GroupImpl) groupDao.loadGroup(group.getKey());
    Assert.assertNotNull(loadedGroup);
    Set<GroupMembership> members = loadedGroup.getMembers();
    Assert.assertNotNull(members);
    Assert.assertEquals(1, members.size());
}
Also used : Group(org.olat.basesecurity.Group) GroupImpl(org.olat.basesecurity.model.GroupImpl) GroupMembership(org.olat.basesecurity.GroupMembership) Identity(org.olat.core.id.Identity) Test(org.junit.Test)

Aggregations

GroupImpl (org.olat.basesecurity.model.GroupImpl)18 Date (java.util.Date)8 Test (org.junit.Test)8 GroupMembership (org.olat.basesecurity.GroupMembership)8 Identity (org.olat.core.id.Identity)6 Group (org.olat.basesecurity.Group)4 GroupMembershipImpl (org.olat.basesecurity.model.GroupMembershipImpl)4 DBRuntimeException (org.olat.core.logging.DBRuntimeException)4 EntityManager (javax.persistence.EntityManager)2 SecurityGroupMembershipImpl (org.olat.basesecurity.SecurityGroupMembershipImpl)2 Event (org.olat.core.gui.control.Event)2 SignOnOffEvent (org.olat.core.util.SignOnOffEvent)2 Locker (org.olat.core.util.coordinate.Locker)2