use of org.olat.group.area.BGArea in project openolat by klemens.
the class BGAreaManagerTest method updateBGArea.
@Test
public void updateBGArea() {
OLATResource resource = JunitTestHelper.createRandomResource();
String areaName = UUID.randomUUID().toString();
BGArea area = areaManager.createAndPersistBGArea("upd-1-" + areaName, "description:" + areaName, resource);
dbInstance.commitAndCloseSession();
// update the area
area.setName("Hello world");
area.setDescription("The world is big");
BGArea updatedArea = areaManager.updateBGArea(area);
// check output
Assert.assertNotNull(updatedArea);
Assert.assertEquals("Hello world", updatedArea.getName());
Assert.assertEquals("The world is big", updatedArea.getDescription());
dbInstance.commitAndCloseSession();
BGArea reloadedArea = areaManager.loadArea(area.getKey());
Assert.assertNotNull(reloadedArea);
Assert.assertEquals("Hello world", reloadedArea.getName());
Assert.assertEquals("The world is big", reloadedArea.getDescription());
}
use of org.olat.group.area.BGArea in project openolat by klemens.
the class BGAreaManagerTest method countBGAreasOfBusinessGroups.
@Test
public void countBGAreasOfBusinessGroups() {
// create a resource, 3 area and 2 group
RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry();
String areaName = UUID.randomUUID().toString();
BGArea area1 = areaManager.createAndPersistBGArea("count-1-" + areaName, "description:" + areaName, resource.getOlatResource());
BGArea area2 = areaManager.createAndPersistBGArea("count-2-" + areaName, "description:" + areaName, resource.getOlatResource());
BGArea area3 = areaManager.createAndPersistBGArea("count-3-" + areaName, "description:" + areaName, resource.getOlatResource());
// create 2 groups
BusinessGroup group1 = businessGroupService.createBusinessGroup(null, "count-1-group", "count-group-desc", 0, -1, false, false, resource);
BusinessGroup group2 = businessGroupService.createBusinessGroup(null, "count-2-group", "count-group-desc", 0, -1, false, false, resource);
dbInstance.commitAndCloseSession();
// add the relations
areaManager.addBGToBGArea(group1, area1);
areaManager.addBGToBGArea(group1, area2);
areaManager.addBGToBGArea(group1, area3);
areaManager.addBGToBGArea(group2, area1);
dbInstance.commitAndCloseSession();
// check with empty list
int numOfAreas1 = areaManager.countBGAreasOfBusinessGroups(Collections.<BusinessGroup>emptyList());
Assert.assertEquals(0, numOfAreas1);
// num of areas of group2 -> only area1
int numOfAreas2 = areaManager.countBGAreasOfBusinessGroups(Collections.singletonList(group2));
Assert.assertEquals(1, numOfAreas2);
// num of areas of group 1 and 2
List<BusinessGroup> groups = new ArrayList<BusinessGroup>(2);
groups.add(group1);
groups.add(group2);
int numOfAreas3 = areaManager.countBGAreasOfBusinessGroups(groups);
Assert.assertEquals(3, numOfAreas3);
}
use of org.olat.group.area.BGArea in project openolat by klemens.
the class BGAreaManagerTest method isIdentityInBGArea.
@Test
public void isIdentityInBGArea() {
Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("attendee-1-" + UUID.randomUUID().toString());
// create a resource, an area, a group
RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry();
String areaName = UUID.randomUUID().toString();
BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource.getOlatResource());
BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource.getOlatResource());
BGArea area3 = areaManager.createAndPersistBGArea("area-3-" + areaName, "description:" + areaName, resource.getOlatResource());
// create 2 groups
BusinessGroup group1 = businessGroupService.createBusinessGroup(null, "area-1-group", "area-group-desc", 0, -1, false, false, resource);
BusinessGroup group2 = businessGroupService.createBusinessGroup(null, "area-2-group", "area-group-desc", 0, -1, false, false, resource);
BusinessGroup group3 = businessGroupService.createBusinessGroup(null, "area-3-group", "area-group-desc", 0, -1, false, false, resource);
dbInstance.commitAndCloseSession();
// add the relations
areaManager.addBGToBGArea(group1, area1);
areaManager.addBGToBGArea(group2, area1);
areaManager.addBGToBGArea(group2, area2);
areaManager.addBGToBGArea(group3, area3);
dbInstance.commitAndCloseSession();
// add attendee
businessGroupRelationDao.addRole(id1, group1, GroupRoles.participant.name());
businessGroupRelationDao.addRole(id1, group2, GroupRoles.coach.name());
dbInstance.commitAndCloseSession();
// check in area 1
boolean testArea1 = areaManager.isIdentityInBGArea(id1, "area-1-" + areaName, null, resource.getOlatResource());
Assert.assertTrue(testArea1);
// check in area 1
boolean testArea2 = areaManager.isIdentityInBGArea(id1, "area-2-" + areaName, null, resource.getOlatResource());
Assert.assertTrue(testArea2);
// check in area 1
boolean testArea3 = areaManager.isIdentityInBGArea(id1, "area-3-" + areaName, null, resource.getOlatResource());
Assert.assertFalse(testArea3);
// check with keys
// check in area 1
boolean testArea4 = areaManager.isIdentityInBGArea(id1, null, area1.getKey(), resource.getOlatResource());
Assert.assertTrue(testArea4);
// check in area 1
boolean testArea5 = areaManager.isIdentityInBGArea(id1, null, area2.getKey(), resource.getOlatResource());
Assert.assertTrue(testArea5);
// check in area 1
boolean testArea6 = areaManager.isIdentityInBGArea(id1, null, area3.getKey(), resource.getOlatResource());
Assert.assertFalse(testArea6);
}
use of org.olat.group.area.BGArea in project openolat by klemens.
the class BGAreaManagerTest method startThreadUpdateBGArea.
private void startThreadUpdateBGArea(final String areaName, final int maxLoop, final List<Exception> exceptionHolder, final int sleepTime, final CountDownLatch finishedCount) {
// thread 2 : update,copy
new Thread(new Runnable() {
public void run() {
try {
for (int i = 0; i < maxLoop; i++) {
try {
BGArea bgArea = areaManager.findBGArea(areaName, c1);
// Detached the bg-area object with closing session
DBFactory.getInstance().closeSession();
if (bgArea != null) {
bgArea.setDescription("description:" + areaName + i);
areaManager.updateBGArea(bgArea);
}
} catch (Exception e) {
exceptionHolder.add(e);
} finally {
try {
DBFactory.getInstance().closeSession();
} catch (Exception e) {
// ignore
}
;
}
sleep(sleepTime);
}
} catch (Exception e) {
exceptionHolder.add(e);
} finally {
finishedCount.countDown();
}
}
}).start();
}
use of org.olat.group.area.BGArea in project openolat by klemens.
the class BGAreaManagerTest method findGroupsByAreas.
@Test
public void findGroupsByAreas() {
// create a resource, 3 area and 2 group
RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry();
String areaName = UUID.randomUUID().toString();
BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource.getOlatResource());
BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource.getOlatResource());
BGArea area3 = areaManager.createAndPersistBGArea("area-3-" + areaName, "description:" + areaName, resource.getOlatResource());
// create 2 groups
BusinessGroup group1 = businessGroupService.createBusinessGroup(null, "area-1-group", "area-group-desc", 0, -1, false, false, resource);
BusinessGroup group2 = businessGroupService.createBusinessGroup(null, "area-2-group", "area-group-desc", 0, -1, false, false, resource);
dbInstance.commitAndCloseSession();
// add the relations
areaManager.addBGToBGArea(group1, area1);
areaManager.addBGToBGArea(group1, area2);
areaManager.addBGToBGArea(group1, area3);
areaManager.addBGToBGArea(group2, area1);
dbInstance.commitAndCloseSession();
// check with empty list
List<BusinessGroup> groupEmpty = areaManager.findBusinessGroupsOfAreas(Collections.<BGArea>emptyList());
Assert.assertNotNull(groupEmpty);
Assert.assertEquals(0, groupEmpty.size());
// check find area 3 -> only group 1
List<BusinessGroup> groupArea3 = areaManager.findBusinessGroupsOfAreas(Collections.singletonList(area3));
Assert.assertNotNull(groupArea3);
Assert.assertEquals(1, groupArea3.size());
Assert.assertTrue(groupArea3.contains(group1));
// check find area 1,2 and 3 -> only group 1 and 2
List<BGArea> allAreas = new ArrayList<BGArea>();
allAreas.add(area1);
allAreas.add(area2);
allAreas.add(area3);
List<BusinessGroup> groupAllAreas = areaManager.findBusinessGroupsOfAreas(allAreas);
Assert.assertNotNull(groupAllAreas);
Assert.assertEquals(2, groupAllAreas.size());
Assert.assertTrue(groupAllAreas.contains(group1));
Assert.assertTrue(groupAllAreas.contains(group2));
}
Aggregations