From 281c228a1c581e5710daac004b3f5486b369ab9f Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Thu, 13 Sep 2012 16:22:27 +0200 Subject: [PATCH] OO-291: grant "ACCESS" permission to authors of a course on their groups --- .../coursecreation/CourseCreationHelper.java | 4 +- .../java/org/olat/course/CourseFactory.java | 5 +- .../ConditionConfigEasyController.java | 8 +- .../condition/GroupSelectionController.java | 6 +- .../PersistingCourseGroupManager.java | 5 +- .../CourseBusinessGroupListController.java | 13 +- .../MembersManagementMainController.java | 2 +- .../olat/course/nodes/co/COConfigForm.java | 8 +- .../olat/course/nodes/co/CORunController.java | 4 +- .../en/ENEditGroupAreaFormController.java | 8 +- .../service/ProjectGroupManagerImpl.java | 11 +- ...essGroupContextEntryControllerCreator.java | 18 +- .../org/olat/group/BusinessGroupService.java | 10 +- .../manager/BusinessGroupImportExport.java | 10 +- .../manager/BusinessGroupServiceImpl.java | 42 ++--- .../org/olat/group/ui/NewBGController.java | 16 +- .../BusinessGroupEditResourceController.java | 8 +- .../AbstractBusinessGroupListController.java | 5 +- .../ui/wizard/BGConfigBusinessGroup.java | 8 +- .../BGConfigResourcesStepController.java | 7 +- .../course/CourseGroupWebService.java | 7 +- .../org/olat/upgrade/OLATUpgrade_8_2_0.java | 16 +- .../CourseGroupManagementTest.java | 12 +- .../nodes/en/EnrollmentManagerTest.java | 15 +- .../TestWeeklyStatisticManager_fillGaps.java | 36 ++-- .../olat/group/test/BGAreaManagerTest.java | 93 +++++----- .../olat/group/test/BGRightManagerTest.java | 168 +++++++++--------- .../test/BusinessGroupImportExportTest.java | 20 +-- .../group/test/BusinessGroupServiceTest.java | 36 ++-- .../repository/RepositoryManagerTest.java | 12 +- .../java/org/olat/restapi/ContactsTest.java | 4 +- .../org/olat/restapi/CourseGroupMgmtTest.java | 7 +- .../org/olat/restapi/GroupFoldersTest.java | 2 +- .../java/org/olat/restapi/GroupMgmtTest.java | 4 +- .../java/org/olat/restapi/UserMgmtTest.java | 4 +- .../java/org/olat/test/AllTestsJunit4.java | 1 + .../java/org/olat/test/JunitTestHelper.java | 7 +- 37 files changed, 343 insertions(+), 299 deletions(-) diff --git a/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/CourseCreationHelper.java b/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/CourseCreationHelper.java index 050fa99f223..e39abc195b6 100644 --- a/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/CourseCreationHelper.java +++ b/src/main/java/de/tuchemnitz/wizard/workflows/coursecreation/CourseCreationHelper.java @@ -113,7 +113,7 @@ public class CourseCreationHelper { /** * @return the created course */ - public final Object getUserObject() { + public final RepositoryEntry getUserObject() { return addedEntry; } @@ -197,7 +197,7 @@ public class CourseCreationHelper { // create group BusinessGroup learningGroup = bgs.createBusinessGroup( null, groupBaseName + " " + (i + 1), null, 0, courseConfig.getSubscriberCount(), courseConfig.getEnableWaitlist(), courseConfig.getEnableFollowup(), - course.getCourseEnvironment().getCourseGroupManager().getCourseResource()); + addedEntry); // enable the contact collaboration tool CollaborationTools ct = CollaborationToolsFactory.getInstance().getOrCreateCollaborationTools(learningGroup); ct.setToolEnabled(CollaborationTools.TOOL_CONTACT, true); diff --git a/src/main/java/org/olat/course/CourseFactory.java b/src/main/java/org/olat/course/CourseFactory.java index 2bad7136563..4b9d6f0cd87 100644 --- a/src/main/java/org/olat/course/CourseFactory.java +++ b/src/main/java/org/olat/course/CourseFactory.java @@ -832,11 +832,12 @@ public class CourseFactory extends BasicManager { * @param identity */ public static void archiveCourse(OLATResourceable res, String charset, Locale locale, Identity identity) { + RepositoryEntry courseRe = RepositoryManager.getInstance().lookupRepositoryEntry(res, false); PersistingCourseImpl course = (PersistingCourseImpl) loadCourse(res); File exportDirectory = CourseFactory.getOrCreateDataExportDirectory(identity, course.getCourseTitle()); boolean isOLATAdmin = BaseSecurityManager.getInstance().isIdentityPermittedOnResourceable(identity, Constants.PERMISSION_HASROLE, Constants.ORESOURCE_ADMIN); - boolean isOresOwner = RepositoryManager.getInstance().isOwnerOfRepositoryEntry(identity, RepositoryManager.getInstance().lookupRepositoryEntry(res, false)); - boolean isOresInstitutionalManager = RepositoryManager.getInstance().isInstitutionalRessourceManagerFor(RepositoryManager.getInstance().lookupRepositoryEntry(res, false), identity); + boolean isOresOwner = RepositoryManager.getInstance().isOwnerOfRepositoryEntry(identity, courseRe); + boolean isOresInstitutionalManager = RepositoryManager.getInstance().isInstitutionalRessourceManagerFor(courseRe, identity); archiveCourse(identity, course, charset, locale, exportDirectory, isOLATAdmin, isOresOwner, isOresInstitutionalManager); } diff --git a/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java b/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java index f5f5534b3bb..d42a0b577c1 100644 --- a/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java +++ b/src/main/java/org/olat/course/condition/ConditionConfigEasyController.java @@ -73,6 +73,8 @@ import org.olat.group.area.BGArea; import org.olat.group.area.BGAreaManager; import org.olat.group.ui.NewAreaController; import org.olat.group.ui.NewBGController; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryManager; import org.olat.resource.OLATResource; import org.olat.shibboleth.ShibbolethModule; /** @@ -337,7 +339,8 @@ public class ConditionConfigEasyController extends FormBasicController implement removeAsListenerAndDispose(groupCreateCtlr); OLATResource courseResource = courseEditorEnv.getCourseGroupManager().getCourseResource(); - groupCreateCtlr = new NewBGController(ureq, getWindowControl(), courseResource, true, null); + RepositoryEntry courseRe = RepositoryManager.getInstance().lookupRepositoryEntry(courseResource, false); + groupCreateCtlr = new NewBGController(ureq, getWindowControl(), courseRe, true, null); listenTo(groupCreateCtlr); cmc = new CloseableModalController(getWindowControl(), "close", groupCreateCtlr.getInitialComponent()); listenTo(cmc); @@ -371,8 +374,9 @@ public class ConditionConfigEasyController extends FormBasicController implement // or more group at once. String[] csvGroupName = (String[]) fixGroupError.getUserObject(); OLATResource courseResource = courseEditorEnv.getCourseGroupManager().getCourseResource(); + RepositoryEntry courseRe = RepositoryManager.getInstance().lookupRepositoryEntry(courseResource, false); removeAsListenerAndDispose(groupCreateCtlr); - groupCreateCtlr = new NewBGController(ureq, getWindowControl(), courseResource, true, csvGroupName[0]); + groupCreateCtlr = new NewBGController(ureq, getWindowControl(), courseRe, true, csvGroupName[0]); listenTo(groupCreateCtlr); removeAsListenerAndDispose(cmc); diff --git a/src/main/java/org/olat/course/condition/GroupSelectionController.java b/src/main/java/org/olat/course/condition/GroupSelectionController.java index bc09888431a..e280584f47a 100644 --- a/src/main/java/org/olat/course/condition/GroupSelectionController.java +++ b/src/main/java/org/olat/course/condition/GroupSelectionController.java @@ -44,6 +44,8 @@ import org.olat.core.gui.control.generic.closablewrapper.CloseableModalControlle import org.olat.course.groupsandrights.CourseGroupManager; import org.olat.group.BusinessGroup; import org.olat.group.ui.NewBGController; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryManager; /** * Description:<br> @@ -94,7 +96,9 @@ public class GroupSelectionController extends FormBasicController { if (source == createNew) { // user wants to create a new group -> show group create form removeAsListenerAndDispose(groupCreateCntrllr); - groupCreateCntrllr = new NewBGController(ureq, getWindowControl(), courseGrpMngr.getCourseResource(), true, null); + + RepositoryEntry re = RepositoryManager.getInstance().lookupRepositoryEntry(courseGrpMngr.getCourseResource(), false); + groupCreateCntrllr = new NewBGController(ureq, getWindowControl(), re, true, null); listenTo(groupCreateCntrllr); removeAsListenerAndDispose(cmc); diff --git a/src/main/java/org/olat/course/groupsandrights/PersistingCourseGroupManager.java b/src/main/java/org/olat/course/groupsandrights/PersistingCourseGroupManager.java index 25fe685fa29..d5df2d1a9af 100644 --- a/src/main/java/org/olat/course/groupsandrights/PersistingCourseGroupManager.java +++ b/src/main/java/org/olat/course/groupsandrights/PersistingCourseGroupManager.java @@ -346,14 +346,15 @@ public class PersistingCourseGroupManager extends BasicManager implements Course @Override public CourseEnvironmentMapper importCourseBusinessGroups(File fImportDirectory) { CourseEnvironmentMapper envMapper = new CourseEnvironmentMapper(); + RepositoryEntry courseRe = RepositoryManager.getInstance().lookupRepositoryEntry(courseResource, true); File fGroupXML1 = new File(fImportDirectory, LEARNINGGROUPEXPORT_XML); if(fGroupXML1.exists()) { - BusinessGroupEnvironment env = businessGroupService.importGroups(courseResource, fGroupXML1); + BusinessGroupEnvironment env = businessGroupService.importGroups(courseRe, fGroupXML1); envMapper.addBusinessGroupEnvironment(env); } File fGroupXML2 = new File(fImportDirectory, RIGHTGROUPEXPORT_XML); if(fGroupXML2.exists()) { - BusinessGroupEnvironment env = businessGroupService.importGroups(courseResource, fGroupXML2); + BusinessGroupEnvironment env = businessGroupService.importGroups(courseRe, fGroupXML2); envMapper.addBusinessGroupEnvironment(env); } return envMapper; diff --git a/src/main/java/org/olat/course/member/CourseBusinessGroupListController.java b/src/main/java/org/olat/course/member/CourseBusinessGroupListController.java index 1b61ed4c204..9bd39677e4e 100644 --- a/src/main/java/org/olat/course/member/CourseBusinessGroupListController.java +++ b/src/main/java/org/olat/course/member/CourseBusinessGroupListController.java @@ -45,6 +45,7 @@ import org.olat.group.ui.main.BGResourcesCellRenderer; import org.olat.group.ui.main.BusinessGroupNameCellRenderer; import org.olat.group.ui.main.BusinessGroupTableModelWithType.Cols; import org.olat.group.ui.main.SelectBusinessGroupController; +import org.olat.repository.RepositoryEntry; import org.olat.resource.OLATResource; /** @@ -53,15 +54,15 @@ import org.olat.resource.OLATResource; */ public class CourseBusinessGroupListController extends AbstractBusinessGroupListController { - private final OLATResource resource; + private final RepositoryEntry re; private final Link createGroup; private final Link addGroup; private SelectBusinessGroupController selectController; - public CourseBusinessGroupListController(UserRequest ureq, WindowControl wControl, OLATResource resource) { + public CourseBusinessGroupListController(UserRequest ureq, WindowControl wControl, RepositoryEntry re) { super(ureq, wControl, "group_list"); - this.resource = resource; + this.re = re; createGroup = LinkFactory.createButton("group.create", mainVC, this); mainVC.put("createGroup", createGroup); @@ -102,7 +103,7 @@ public class CourseBusinessGroupListController extends AbstractBusinessGroupList @Override protected void event(UserRequest ureq, Component source, Event event) { if(source == createGroup) { - doCreate(ureq, getWindowControl(), resource); + doCreate(ureq, getWindowControl(), re); } else if (source == addGroup) { doSelectGroups(ureq); } else { @@ -141,7 +142,7 @@ public class CourseBusinessGroupListController extends AbstractBusinessGroupList } protected void addGroupsToCourse(List<BusinessGroup> groups) { - List<OLATResource> resources = Collections.singletonList(resource); + List<RepositoryEntry> resources = Collections.singletonList(re); businessGroupService.addResourcesTo(groups, resources); reloadModel(); mainVC.setDirty(true); @@ -154,6 +155,6 @@ public class CourseBusinessGroupListController extends AbstractBusinessGroupList @Override protected OLATResource getResource() { - return resource; + return re.getOlatResource(); } } \ No newline at end of file diff --git a/src/main/java/org/olat/course/member/MembersManagementMainController.java b/src/main/java/org/olat/course/member/MembersManagementMainController.java index 33848009513..70a130a41b1 100644 --- a/src/main/java/org/olat/course/member/MembersManagementMainController.java +++ b/src/main/java/org/olat/course/member/MembersManagementMainController.java @@ -153,7 +153,7 @@ public class MembersManagementMainController extends MainLayoutBasicController mainVC.put("content", membersOverviewCtrl.getInitialComponent()); } else if(CMD_GROUPS.equals(cmd)) { if(groupsCtrl == null) { - groupsCtrl = new CourseBusinessGroupListController(ureq, getWindowControl(), repoEntry.getOlatResource()); + groupsCtrl = new CourseBusinessGroupListController(ureq, getWindowControl(), repoEntry); listenTo(groupsCtrl); } groupsCtrl.reloadModel(); diff --git a/src/main/java/org/olat/course/nodes/co/COConfigForm.java b/src/main/java/org/olat/course/nodes/co/COConfigForm.java index b192c1ba7a3..4f9f148b978 100644 --- a/src/main/java/org/olat/course/nodes/co/COConfigForm.java +++ b/src/main/java/org/olat/course/nodes/co/COConfigForm.java @@ -63,6 +63,8 @@ import org.olat.group.area.BGAreaManager; import org.olat.group.ui.NewAreaController; import org.olat.group.ui.NewBGController; import org.olat.modules.ModuleConfiguration; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryManager; import org.olat.resource.OLATResource; /** @@ -580,7 +582,8 @@ public class COConfigForm extends FormBasicController { // no groups in group management -> directly show group create dialog OLATResource courseResource = cev.getCourseGroupManager().getCourseResource(); - groupCreateCntrllr = new NewBGController(ureq, getWindowControl(), courseResource, true, null); + RepositoryEntry courseRe = RepositoryManager.getInstance().lookupRepositoryEntry(courseResource, false); + groupCreateCntrllr = new NewBGController(ureq, getWindowControl(), courseRe, true, null); listenTo(groupCreateCntrllr); cmc = new CloseableModalController(getWindowControl(), "close", groupCreateCntrllr.getInitialComponent()); listenTo(cmc); @@ -615,9 +618,10 @@ public class COConfigForm extends FormBasicController { // user wants to fix problem with fixing group error link e.g. create one or more group at once. String[] csvGroupName = (String[]) fixGroupError.getUserObject(); OLATResource courseResource = cev.getCourseGroupManager().getCourseResource(); + RepositoryEntry courseRe = RepositoryManager.getInstance().lookupRepositoryEntry(courseResource, false); easyGroupList.setEnabled(false); removeAsListenerAndDispose(groupCreateCntrllr); - groupCreateCntrllr = new NewBGController(ureq, getWindowControl(), courseResource, true, csvGroupName[0]); + groupCreateCntrllr = new NewBGController(ureq, getWindowControl(), courseRe, true, csvGroupName[0]); listenTo(groupCreateCntrllr); removeAsListenerAndDispose(cmc); diff --git a/src/main/java/org/olat/course/nodes/co/CORunController.java b/src/main/java/org/olat/course/nodes/co/CORunController.java index cd6f46ba8bc..326832807a5 100644 --- a/src/main/java/org/olat/course/nodes/co/CORunController.java +++ b/src/main/java/org/olat/course/nodes/co/CORunController.java @@ -136,11 +136,11 @@ public class CORunController extends BasicController { if(areaKeys == null && StringHelper.containsNonWhitespace(areaNames)) { areaKeys = areaManager.toAreaKeys(areaNames, cgm.getCourseResource()); } - if (coachesConfigured) { + if (coachesConfigured != null && coachesConfigured.booleanValue()) { ContactList cl = retrieveCoachesFromAreas(areaKeys); contactLists.push(cl); } - if (partipsConfigured) { + if (partipsConfigured != null && partipsConfigured.booleanValue()) { ContactList cl = retrieveParticipantsFromAreas(areaKeys); contactLists.push(cl); } diff --git a/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java b/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java index ac998adec84..fe15b2636f1 100644 --- a/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java +++ b/src/main/java/org/olat/course/nodes/en/ENEditGroupAreaFormController.java @@ -68,6 +68,8 @@ import org.olat.group.area.BGAreaManager; import org.olat.group.ui.NewAreaController; import org.olat.group.ui.NewBGController; import org.olat.modules.ModuleConfiguration; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryManager; import org.olat.resource.OLATResource; /** @@ -405,7 +407,8 @@ class ENEditGroupAreaFormController extends FormBasicController implements Gener // no groups in group management -> directly show group create dialog OLATResource courseResource = cev.getCourseGroupManager().getCourseResource(); - groupCreateCntrllr = new NewBGController(ureq, getWindowControl(), courseResource, true, null); + RepositoryEntry courseRe = RepositoryManager.getInstance().lookupRepositoryEntry(courseResource, false); + groupCreateCntrllr = new NewBGController(ureq, getWindowControl(), courseRe, true, null); listenTo(groupCreateCntrllr); cmc = new CloseableModalController(getWindowControl(), "close", groupCreateCntrllr.getInitialComponent()); @@ -447,7 +450,8 @@ class ENEditGroupAreaFormController extends FormBasicController implements Gener easyGroupList.setEnabled(false); removeAsListenerAndDispose(groupCreateCntrllr); OLATResource courseResource = this.cev.getCourseGroupManager().getCourseResource(); - groupCreateCntrllr = new NewBGController(ureq, getWindowControl(), courseResource, true, csvGroupName[0]); + RepositoryEntry courseRe = RepositoryManager.getInstance().lookupRepositoryEntry(courseResource, false); + groupCreateCntrllr = new NewBGController(ureq, getWindowControl(), courseRe, true, csvGroupName[0]); listenTo(groupCreateCntrllr); removeAsListenerAndDispose(cmc); diff --git a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java index a079bab73ea..432fbc54684 100644 --- a/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java +++ b/src/main/java/org/olat/course/nodes/projectbroker/service/ProjectGroupManagerImpl.java @@ -92,12 +92,12 @@ public class ProjectGroupManagerImpl extends BasicManager implements ProjectGrou } else { logDebug("No group for project-broker exist => create a new one"); BusinessGroupService businessGroupService = CoreSpringFactory.getImpl(BusinessGroupService.class); - OLATResource courseResource = cpm.getCourseResource(); - accountManagerGroup = businessGroupService.createBusinessGroup(identity, groupName, groupDescription, -1, -1, false, false, courseResource); + RepositoryEntry re = RepositoryManager.getInstance().lookupRepositoryEntry(cpm.getCourseResource(), false); + accountManagerGroup = businessGroupService.createBusinessGroup(identity, groupName, groupDescription, -1, -1, false, false, re); int i = 2; while (accountManagerGroup == null) { // group with this name exist already, try another name - accountManagerGroup = businessGroupService.createBusinessGroup(identity, groupName + " _" + i, groupDescription, -1, -1, false, false, courseResource); + accountManagerGroup = businessGroupService.createBusinessGroup(identity, groupName + " _" + i, groupDescription, -1, -1, false, false, re); i++; } logDebug("createAndPersistBusinessGroup businessgroup=" + accountManagerGroup); @@ -169,16 +169,17 @@ public class ProjectGroupManagerImpl extends BasicManager implements ProjectGrou BusinessGroupService businessGroupService = CoreSpringFactory.getImpl(BusinessGroupService.class); OLATResource resource = CourseFactory.loadCourse(courseId).getCourseEnvironment().getCourseGroupManager().getCourseResource(); + RepositoryEntry re = RepositoryManager.getInstance().lookupRepositoryEntry(resource, false); //BGContext context = createGroupContext(CourseFactory.loadCourse(courseId)); logDebug("createProjectGroupFor groupName=" + groupName); - BusinessGroup projectGroup = businessGroupService.createBusinessGroup(identity, groupName, groupDescription, -1, -1, false, false, resource); + BusinessGroup projectGroup = businessGroupService.createBusinessGroup(identity, groupName, groupDescription, -1, -1, false, false, re); // projectGroup could be null when a group with name already exists int counter = 2; while (projectGroup == null) { // name alreday exist try another one String newGroupName = groupName + " _" + counter ; - projectGroup = businessGroupService.createBusinessGroup(identity, newGroupName, groupDescription, -1, -1, false, false, resource); + projectGroup = businessGroupService.createBusinessGroup(identity, newGroupName, groupDescription, -1, -1, false, false, re); counter++; } logDebug("Created a new projectGroup=" + projectGroup); diff --git a/src/main/java/org/olat/group/BusinessGroupContextEntryControllerCreator.java b/src/main/java/org/olat/group/BusinessGroupContextEntryControllerCreator.java index 93917e23b5a..2e1bea421eb 100644 --- a/src/main/java/org/olat/group/BusinessGroupContextEntryControllerCreator.java +++ b/src/main/java/org/olat/group/BusinessGroupContextEntryControllerCreator.java @@ -21,6 +21,7 @@ package org.olat.group; import java.util.Date; +import org.olat.basesecurity.Constants; import org.olat.core.CoreSpringFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.control.Controller; @@ -28,6 +29,7 @@ import org.olat.core.gui.control.WindowControl; import org.olat.core.id.OLATResourceable; import org.olat.core.id.context.ContextEntry; import org.olat.core.id.context.DefaultContextEntryControllerCreator; +import org.olat.group.right.BGRightManager; import org.olat.group.ui.BGControllerFactory; import org.olat.resource.accesscontrol.ACService; import org.olat.resource.accesscontrol.AccessControlModule; @@ -54,12 +56,15 @@ public class BusinessGroupContextEntryControllerCreator extends DefaultContextEn Long gKey = ores.getResourceableId(); BusinessGroupService bgs = CoreSpringFactory.getImpl(BusinessGroupService.class); + Controller ctrl = null; BusinessGroup bgroup = bgs.loadBusinessGroup(gKey); if(bgroup != null) { - //fxdiff VCRP-1,2: access control of resources + BGRightManager rightManager = CoreSpringFactory.getImpl(BGRightManager.class); if (ureq.getUserSession().getRoles().isOLATAdmin() || ureq.getUserSession().getRoles().isGroupManager() - || bgs.isIdentityInBusinessGroup(ureq.getIdentity(), bgroup) || isAccessControlled(bgroup)) { + || bgs.isIdentityInBusinessGroup(ureq.getIdentity(), bgroup) + || rightManager.hasBGRight(Constants.PERMISSION_ACCESS, ureq.getIdentity(), bgroup.getResource()) + || isAccessControlled(bgroup)) { ctrl = BGControllerFactory.getInstance().createRunControllerFor(ureq, wControl, bgroup); } } @@ -86,9 +91,12 @@ public class BusinessGroupContextEntryControllerCreator extends DefaultContextEn if (bgroup == null) { return false; } - return ureq.getUserSession().getRoles().isOLATAdmin() || - ureq.getUserSession().getRoles().isGroupManager() || - bgs.isIdentityInBusinessGroup(ureq.getIdentity(), bgroup) || isAccessControlled(bgroup); + BGRightManager rightManager = CoreSpringFactory.getImpl(BGRightManager.class); + return ureq.getUserSession().getRoles().isOLATAdmin() + || ureq.getUserSession().getRoles().isGroupManager() + || bgs.isIdentityInBusinessGroup(ureq.getIdentity(), bgroup) + || rightManager.hasBGRight(Constants.PERMISSION_ACCESS, ureq.getIdentity(), bgroup.getResource()) + || isAccessControlled(bgroup); } private boolean isAccessControlled(BusinessGroup bgroup) { diff --git a/src/main/java/org/olat/group/BusinessGroupService.java b/src/main/java/org/olat/group/BusinessGroupService.java index a55f2ea629a..9a1d3e464cf 100644 --- a/src/main/java/org/olat/group/BusinessGroupService.java +++ b/src/main/java/org/olat/group/BusinessGroupService.java @@ -71,7 +71,7 @@ public interface BusinessGroupService { */ public BusinessGroup createBusinessGroup(Identity creator, String name, String description, Integer minParticipants, Integer maxParticipants, boolean waitingListEnabled, boolean autoCloseRanksEnabled, - OLATResource resource); + RepositoryEntry resource); /** * Update the business group with the supplied arguments and do it in sync @@ -276,11 +276,11 @@ public interface BusinessGroupService { public boolean hasResources(List<BusinessGroup> groups); - public void addResourceTo(BusinessGroup group, OLATResource resource); + public void addResourceTo(BusinessGroup group, RepositoryEntry re); - public void addResourcesTo(List<BusinessGroup> groups, List<OLATResource> resources); + public void addResourcesTo(List<BusinessGroup> groups, List<RepositoryEntry> resources); - public void removeResourceFrom(BusinessGroup group, OLATResource resource); + public void removeResourceFrom(BusinessGroup group, RepositoryEntry re); public List<RepositoryEntry> findRepositoryEntries(Collection<BusinessGroup> groups, int firstResult, int maxResults); @@ -506,7 +506,7 @@ public interface BusinessGroupService { * @param resource * @param fGroupExportXML */ - public BusinessGroupEnvironment importGroups(OLATResource resource, File fGroupExportXML); + public BusinessGroupEnvironment importGroups(RepositoryEntry re, File fGroupExportXML); public void archiveGroups(List<BusinessGroup> groups, File exportFile); diff --git a/src/main/java/org/olat/group/manager/BusinessGroupImportExport.java b/src/main/java/org/olat/group/manager/BusinessGroupImportExport.java index 40484185deb..9d6cbed65b2 100644 --- a/src/main/java/org/olat/group/manager/BusinessGroupImportExport.java +++ b/src/main/java/org/olat/group/manager/BusinessGroupImportExport.java @@ -45,7 +45,7 @@ import org.olat.group.model.BGAreaReference; import org.olat.group.model.BusinessGroupEnvironment; import org.olat.group.model.BusinessGroupReference; import org.olat.properties.Property; -import org.olat.resource.OLATResource; +import org.olat.repository.RepositoryEntry; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -200,7 +200,7 @@ public class BusinessGroupImportExport { } } - public BusinessGroupEnvironment importGroups(OLATResource resource, File fGroupExportXML) { + public BusinessGroupEnvironment importGroups(RepositoryEntry re, File fGroupExportXML) { if (!fGroupExportXML.exists()) return new BusinessGroupEnvironment(); @@ -222,7 +222,7 @@ public class BusinessGroupImportExport { for (Area area : groupConfig.getAreas().getGroups()) { String areaName = area.name; String areaDesc = (area.description != null && !area.description.isEmpty()) ? area.description.get(0) : ""; - BGArea newArea = areaManager.createAndPersistBGArea(areaName, areaDesc, resource); + BGArea newArea = areaManager.createAndPersistBGArea(areaName, areaDesc, re.getOlatResource()); if(areaSet.add(newArea)) { env.getAreas().add(new BGAreaReference(newArea, area.key, area.name)); } @@ -250,7 +250,7 @@ public class BusinessGroupImportExport { enableAutoCloseRanks = group.autoCloseRanks.booleanValue(); } - BusinessGroup newGroup = businessGroupService.createBusinessGroup(null, groupName, groupDesc, groupMinParticipants, groupMaxParticipants, waitingList, enableAutoCloseRanks, resource); + BusinessGroup newGroup = businessGroupService.createBusinessGroup(null, groupName, groupDesc, groupMinParticipants, groupMaxParticipants, waitingList, enableAutoCloseRanks, re); //map the group env.getGroups().add(new BusinessGroupReference(newGroup, group.key, group.name)); // get tools config @@ -283,7 +283,7 @@ public class BusinessGroupImportExport { List<String> memberships = group.areaRelations; if(memberships != null) { for (String membership : memberships) { - BGArea area = areaManager.findBGArea(membership, resource); + BGArea area = areaManager.findBGArea(membership, re.getOlatResource()); if (area == null) { throw new AssertException("Group-Area-Relationship in export, but area was not created during import."); } diff --git a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java index 11b5d11b903..dc5b9047192 100644 --- a/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java +++ b/src/main/java/org/olat/group/manager/BusinessGroupServiceImpl.java @@ -101,7 +101,6 @@ import org.olat.notifications.NotificationsManagerImpl; import org.olat.properties.Property; import org.olat.repository.RepositoryEntry; import org.olat.resource.OLATResource; -import org.olat.resource.OLATResourceImpl; import org.olat.resource.accesscontrol.ACService; import org.olat.resource.accesscontrol.model.ResourceReservation; import org.olat.testutils.codepoints.server.Codepoint; @@ -195,15 +194,12 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD @Override public BusinessGroup createBusinessGroup(Identity creator, String name, String description, Integer minParticipants, Integer maxParticipants, boolean waitingListEnabled, boolean autoCloseRanksEnabled, - OLATResource resource) { + RepositoryEntry re) { BusinessGroup group = businessGroupDAO.createAndPersist(creator, name, description, minParticipants, maxParticipants, waitingListEnabled, autoCloseRanksEnabled, false, false, false); - if(resource instanceof OLATResourceImpl) { - businessGroupRelationDAO.addRelationToResource(group, resource); - //add coach and participant permission - securityManager.createAndPersistPolicyWithResource(group.getOwnerGroup(), Constants.PERMISSION_COACH, resource); - securityManager.createAndPersistPolicyWithResource(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, resource); + if(re != null) { + addResourceTo(group, re); } return group; } @@ -1420,16 +1416,18 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD @Override @Transactional - public void addResourceTo(BusinessGroup group, OLATResource resource) { - businessGroupRelationDAO.addRelationToResource(group, resource); + public void addResourceTo(BusinessGroup group, RepositoryEntry re) { + businessGroupRelationDAO.addRelationToResource(group, re.getOlatResource()); + //add author permission + securityManager.createAndPersistPolicyWithResource(re.getOwnerGroup(), Constants.PERMISSION_ACCESS, group.getResource()); //add coach and participant permission - securityManager.createAndPersistPolicyWithResource(group.getOwnerGroup(), Constants.PERMISSION_COACH, resource); - securityManager.createAndPersistPolicyWithResource(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, resource); + securityManager.createAndPersistPolicyWithResource(group.getOwnerGroup(), Constants.PERMISSION_COACH, re.getOlatResource()); + securityManager.createAndPersistPolicyWithResource(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, re.getOlatResource()); } @Override @Transactional - public void addResourcesTo(List<BusinessGroup> groups, List<OLATResource> resources) { + public void addResourcesTo(List<BusinessGroup> groups, List<RepositoryEntry> resources) { if(groups == null || groups.isEmpty()) return; if(resources == null || resources.isEmpty()) return; @@ -1441,15 +1439,15 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD //check for duplicate entries List<BGResourceRelation> relations = businessGroupRelationDAO.findRelations(groupKeys, 0, -1); for(BusinessGroup group:groups) { - for(OLATResource resource:resources) { + for(RepositoryEntry re:resources) { boolean relationExists = false; for(BGResourceRelation relation:relations) { - if(relation.getGroup().equals(group) && relation.getResource().equals(resource)) { + if(relation.getGroup().equals(group) && relation.getResource().equals(re.getOlatResource())) { relationExists = true; } } if(!relationExists) { - addResourceTo(group, resource); + addResourceTo(group, re); } } } @@ -1457,11 +1455,13 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD @Override @Transactional - public void removeResourceFrom(BusinessGroup group, OLATResource resource) { - businessGroupRelationDAO.deleteRelation(group, resource); + public void removeResourceFrom(BusinessGroup group, RepositoryEntry re) { + businessGroupRelationDAO.deleteRelation(group, re.getOlatResource()); + //remove author permission + securityManager.deletePolicy(re.getOwnerGroup(), Constants.PERMISSION_ACCESS, group.getResource()); //remove permission - securityManager.deletePolicy(group.getOwnerGroup(), Constants.PERMISSION_COACH, resource); - securityManager.deletePolicy(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, resource); + securityManager.deletePolicy(group.getOwnerGroup(), Constants.PERMISSION_COACH, re.getOlatResource()); + securityManager.deletePolicy(group.getPartipiciantGroup(), Constants.PERMISSION_PARTI, re.getOlatResource()); } @Override @@ -1556,8 +1556,8 @@ public class BusinessGroupServiceImpl implements BusinessGroupService, UserDataD } @Override - public BusinessGroupEnvironment importGroups(OLATResource resource, File fGroupExportXML) { - return businessGroupImportExport.importGroups(resource, fGroupExportXML); + public BusinessGroupEnvironment importGroups(RepositoryEntry re, File fGroupExportXML) { + return businessGroupImportExport.importGroups(re, fGroupExportXML); } @Override diff --git a/src/main/java/org/olat/group/ui/NewBGController.java b/src/main/java/org/olat/group/ui/NewBGController.java index c2a098377b4..541b6c80c2a 100644 --- a/src/main/java/org/olat/group/ui/NewBGController.java +++ b/src/main/java/org/olat/group/ui/NewBGController.java @@ -42,7 +42,7 @@ import org.olat.core.logging.activity.ThreadLocalUserActivityLogger; import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupService; import org.olat.group.GroupLoggingAction; -import org.olat.resource.OLATResource; +import org.olat.repository.RepositoryEntry; import org.olat.util.logging.activity.LoggingResourceable; /** @@ -59,7 +59,7 @@ import org.olat.util.logging.activity.LoggingResourceable; */ public class NewBGController extends BasicController { - private OLATResource resource; + private RepositoryEntry re; private BusinessGroupService businessGroupService; private VelocityContainer contentVC; private BusinessGroupFormController groupCreateController; @@ -73,8 +73,8 @@ public class NewBGController extends BasicController { * @param bgContext * @param bulkMode */ - public NewBGController(UserRequest ureq, WindowControl wControl, OLATResource resource) { - this(ureq, wControl, resource, true, null); + public NewBGController(UserRequest ureq, WindowControl wControl, RepositoryEntry re) { + this(ureq, wControl, re, true, null); } /** * @@ -85,9 +85,9 @@ public class NewBGController extends BasicController { * @param bulkMode * @param csvGroupNames */ - public NewBGController(UserRequest ureq, WindowControl wControl, OLATResource resource, boolean bulkMode, String csvGroupNames) { + public NewBGController(UserRequest ureq, WindowControl wControl, RepositoryEntry re, boolean bulkMode, String csvGroupNames) { super(ureq, wControl); - this.resource = resource; + this.re = re; this.bulkMode = bulkMode; // businessGroupService = CoreSpringFactory.getImpl(BusinessGroupService.class); @@ -127,12 +127,12 @@ public class NewBGController extends BasicController { newGroups = new ArrayList<BusinessGroup>(); if (bulkMode) { for(String bgName:groupCreateController.getGroupNames()) { - BusinessGroup group = businessGroupService.createBusinessGroup(getIdentity(), bgName, bgDesc, bgMin, bgMax, enableWaitingList, enableAutoCloseRanks, resource); + BusinessGroup group = businessGroupService.createBusinessGroup(getIdentity(), bgName, bgDesc, bgMin, bgMax, enableWaitingList, enableAutoCloseRanks, re); newGroups.add(group); } } else { String bgName = groupCreateController.getGroupName(); - BusinessGroup group = businessGroupService.createBusinessGroup(getIdentity(), bgName, bgDesc, bgMin, bgMax, enableWaitingList, enableAutoCloseRanks, resource); + BusinessGroup group = businessGroupService.createBusinessGroup(getIdentity(), bgName, bgDesc, bgMin, bgMax, enableWaitingList, enableAutoCloseRanks, re); newGroups.add(group); } diff --git a/src/main/java/org/olat/group/ui/edit/BusinessGroupEditResourceController.java b/src/main/java/org/olat/group/ui/edit/BusinessGroupEditResourceController.java index de20d0ad707..12a594c933c 100644 --- a/src/main/java/org/olat/group/ui/edit/BusinessGroupEditResourceController.java +++ b/src/main/java/org/olat/group/ui/edit/BusinessGroupEditResourceController.java @@ -55,7 +55,6 @@ import org.olat.group.BusinessGroupService; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryTableModel; import org.olat.repository.controllers.ReferencableEntriesSearchController; -import org.olat.resource.OLATResource; /** * Description:<BR> @@ -180,22 +179,19 @@ public class BusinessGroupEditResourceController extends BasicController impleme } private void doRemoveResource(RepositoryEntry entry) { - businessGroupService.removeResourceFrom(group, entry.getOlatResource()); + businessGroupService.removeResourceFrom(group, entry); repoTableModel.getObjects().remove(entry); resourcesCtr.modelChanged(); } private void doAddRepositoryEntry(List<RepositoryEntry> entries) { - List<OLATResource> resources = new ArrayList<OLATResource>(); List<RepositoryEntry> repoEntries = new ArrayList<RepositoryEntry>(); for(RepositoryEntry entry:entries) { if(!repoTableModel.getObjects().contains(entry)) { - resources.add(entry.getOlatResource()); repoEntries.add(entry); } - } - businessGroupService.addResourcesTo(Collections.singletonList(group), resources); + businessGroupService.addResourcesTo(Collections.singletonList(group), repoEntries); repoTableModel.addObjects(repoEntries); resourcesCtr.modelChanged(); } diff --git a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java index abf089b71c2..a7d807b5110 100644 --- a/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java +++ b/src/main/java/org/olat/group/ui/main/AbstractBusinessGroupListController.java @@ -88,6 +88,7 @@ import org.olat.group.ui.wizard.BGEmailSelectReceiversStep; import org.olat.group.ui.wizard.BGMergeStep; import org.olat.group.ui.wizard.BGUserMailTemplate; import org.olat.group.ui.wizard.BGUserManagementController; +import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntryShort; import org.olat.resource.OLATResource; import org.olat.resource.accesscontrol.ACService; @@ -418,9 +419,9 @@ public abstract class AbstractBusinessGroupListController extends BasicControlle * @param ureq * @param wControl */ - protected void doCreate(UserRequest ureq, WindowControl wControl, OLATResource resource) { + protected void doCreate(UserRequest ureq, WindowControl wControl, RepositoryEntry re) { removeAsListenerAndDispose(groupCreateController); - groupCreateController = new NewBGController(ureq, wControl, resource, false, null); + groupCreateController = new NewBGController(ureq, wControl, re, false, null); listenTo(groupCreateController); cmc = new CloseableModalController(getWindowControl(), translate("close"), groupCreateController.getInitialComponent(), true, translate("create.form.title")); diff --git a/src/main/java/org/olat/group/ui/wizard/BGConfigBusinessGroup.java b/src/main/java/org/olat/group/ui/wizard/BGConfigBusinessGroup.java index be457d4140b..07128ed0a60 100644 --- a/src/main/java/org/olat/group/ui/wizard/BGConfigBusinessGroup.java +++ b/src/main/java/org/olat/group/ui/wizard/BGConfigBusinessGroup.java @@ -23,7 +23,7 @@ import java.util.ArrayList; import java.util.List; import org.olat.core.util.vfs.Quota; -import org.olat.resource.OLATResource; +import org.olat.repository.RepositoryEntry; /** * @@ -38,7 +38,7 @@ public class BGConfigBusinessGroup { private int folderAccess; private Quota quota; - private List<OLATResource> resources; + private List<RepositoryEntry> resources; public List<String> getToolsToEnable() { return toolsToEnable; @@ -72,11 +72,11 @@ public class BGConfigBusinessGroup { this.quota = quota; } - public List<OLATResource> getResources() { + public List<RepositoryEntry> getResources() { return resources; } - public void setResources(List<OLATResource> resources) { + public void setResources(List<RepositoryEntry> resources) { this.resources = resources; } } \ No newline at end of file diff --git a/src/main/java/org/olat/group/ui/wizard/BGConfigResourcesStepController.java b/src/main/java/org/olat/group/ui/wizard/BGConfigResourcesStepController.java index 333a6c4c555..4370d6aeb2b 100644 --- a/src/main/java/org/olat/group/ui/wizard/BGConfigResourcesStepController.java +++ b/src/main/java/org/olat/group/ui/wizard/BGConfigResourcesStepController.java @@ -48,7 +48,6 @@ import org.olat.group.ui.edit.BusinessGroupEditResourceController; import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryTableModel; import org.olat.repository.controllers.ReferencableEntriesSearchController; -import org.olat.resource.OLATResource; /** * @@ -164,11 +163,7 @@ public class BGConfigResourcesStepController extends StepFormBasicController { addToRunContext("configuration", configuration); } List<RepositoryEntry> entries = repoTableModel.getObjects(); - List<OLATResource> resources = new ArrayList<OLATResource>(entries.size()); - for(RepositoryEntry entry:entries) { - resources.add(entry.getOlatResource()); - } - configuration.setResources(resources); + configuration.setResources(entries); fireEvent(ureq, StepsEvent.ACTIVATE_NEXT); } } \ No newline at end of file diff --git a/src/main/java/org/olat/restapi/repository/course/CourseGroupWebService.java b/src/main/java/org/olat/restapi/repository/course/CourseGroupWebService.java index 0c27c140068..cae5c3c3e66 100644 --- a/src/main/java/org/olat/restapi/repository/course/CourseGroupWebService.java +++ b/src/main/java/org/olat/restapi/repository/course/CourseGroupWebService.java @@ -56,8 +56,9 @@ import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupService; import org.olat.modules.fo.Forum; import org.olat.modules.fo.restapi.ForumWebService; +import org.olat.repository.RepositoryEntry; +import org.olat.repository.RepositoryManager; import org.olat.resource.OLATResource; -import org.olat.resource.OLATResourceManager; import org.olat.restapi.group.LearningGroupWebService; import org.olat.restapi.security.RestSecurityHelper; import org.olat.restapi.support.ObjectFactory; @@ -216,8 +217,8 @@ public class CourseGroupWebService { Integer min = normalize(group.getMinParticipants()); Integer max = normalize(group.getMaxParticipants()); - OLATResource resource = OLATResourceManager.getInstance().findOrPersistResourceable(course); - BusinessGroup bg = bgm.createBusinessGroup(ureq.getIdentity(), name, desc, min, max, false, false, resource); + RepositoryEntry courseRe = RepositoryManager.getInstance().lookupRepositoryEntry(course, false); + BusinessGroup bg = bgm.createBusinessGroup(ureq.getIdentity(), name, desc, min, max, false, false, courseRe); GroupVO savedVO = ObjectFactory.get(bg); return Response.ok(savedVO).build(); } diff --git a/src/main/java/org/olat/upgrade/OLATUpgrade_8_2_0.java b/src/main/java/org/olat/upgrade/OLATUpgrade_8_2_0.java index 0cff4962aaf..f005503570d 100644 --- a/src/main/java/org/olat/upgrade/OLATUpgrade_8_2_0.java +++ b/src/main/java/org/olat/upgrade/OLATUpgrade_8_2_0.java @@ -203,8 +203,8 @@ public class OLATUpgrade_8_2_0 extends OLATUpgrade { } private void processBusinessGroup(BusinessGroup group) { - List<OLATResource> resources = findOLATResourcesForBusinessGroup(group); - List<OLATResource> currentList = businessGroupService.findResources(Collections.singletonList(group), 0, -1); + List<RepositoryEntry> resources = findOLATResourcesForBusinessGroup(group); + List<RepositoryEntry> currentList = businessGroupService.findRepositoryEntries(Collections.singletonList(group), 0, -1); boolean merge = false; if(group.getResource() == null) { @@ -229,7 +229,7 @@ public class OLATUpgrade_8_2_0 extends OLATUpgrade { } int count = 0; - for (OLATResource resource:resources) { + for (RepositoryEntry resource:resources) { if(!currentList.contains(resource)) { businessGroupService.addResourceTo(group, resource); count++; @@ -345,11 +345,15 @@ public class OLATUpgrade_8_2_0 extends OLATUpgrade { return resources; } - private List<OLATResource> findOLATResourcesForBusinessGroup(BusinessGroup group) { + private List<RepositoryEntry> findOLATResourcesForBusinessGroup(BusinessGroup group) { StringBuilder q = new StringBuilder(); - q.append("select bgcr.resource from ").append(BGContext2Resource.class.getName()).append(" as bgcr where bgcr.groupContext.key=:contextKey"); + q.append("select v from ").append(RepositoryEntry.class.getName()).append(" as v ") + .append(" inner join fetch v.olatResource as ores ") + .append(" where ores in (") + .append(" select bgcr.resource from ").append(BGContext2Resource.class.getName()).append(" as bgcr where bgcr.groupContext.key=:contextKey") + .append(" )"); - List<OLATResource> resources = dbInstance.getCurrentEntityManager().createQuery(q.toString(), OLATResource.class) + List<RepositoryEntry> resources = dbInstance.getCurrentEntityManager().createQuery(q.toString(), RepositoryEntry.class) .setParameter("contextKey", ((BusinessGroupImpl)group).getGroupContextKey()) .getResultList(); return resources; diff --git a/src/test/java/org/olat/course/groupsandrights/CourseGroupManagementTest.java b/src/test/java/org/olat/course/groupsandrights/CourseGroupManagementTest.java index 9fff7458e0d..8d63a1c82c4 100644 --- a/src/test/java/org/olat/course/groupsandrights/CourseGroupManagementTest.java +++ b/src/test/java/org/olat/course/groupsandrights/CourseGroupManagementTest.java @@ -44,7 +44,7 @@ import org.olat.group.area.BGArea; import org.olat.group.area.BGAreaManager; import org.olat.group.right.BGRightManager; import org.olat.group.right.BGRightsRole; -import org.olat.resource.OLATResource; +import org.olat.repository.RepositoryEntry; import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; import org.springframework.beans.factory.annotation.Autowired; @@ -97,7 +97,7 @@ public class CourseGroupManagementTest extends OlatTestCase { /** rights tests */ @Test public void testHasRightIsInMethodsByGroups() { - OLATResource course1 = JunitTestHelper.createRandomResource(); + RepositoryEntry course1 = JunitTestHelper.createAndPersistRepositoryEntry(); // create groups without waitinglist BusinessGroup g1 = businessGroupService.createBusinessGroup(null, "g1", null, 0, 10, false, false, @@ -163,7 +163,7 @@ public class CourseGroupManagementTest extends OlatTestCase { /** rights tests */ @Test public void testHasRightIsInMethodsByArea() { - OLATResource course1 = JunitTestHelper.createRandomResource(); + RepositoryEntry course1 = JunitTestHelper.createAndPersistRepositoryEntry(); // create groups without waitinglist BusinessGroup g1 = businessGroupService.createBusinessGroup(null, "g1", null, 0, 10, false, false, @@ -177,9 +177,9 @@ public class CourseGroupManagementTest extends OlatTestCase { securityManager.addIdentityToSecurityGroup(id2, g2.getPartipiciantGroup()); securityManager.addIdentityToSecurityGroup(id3, g1.getOwnerGroup()); // areas - BGArea a1 = areaManager.createAndPersistBGArea("a1", "desca1", course1); - BGArea a2 = areaManager.createAndPersistBGArea("a2", null, course1); - BGArea a3 = areaManager.createAndPersistBGArea("a3", null, course1); + BGArea a1 = areaManager.createAndPersistBGArea("a1", "desca1", course1.getOlatResource()); + BGArea a2 = areaManager.createAndPersistBGArea("a2", null, course1.getOlatResource()); + BGArea a3 = areaManager.createAndPersistBGArea("a3", null, course1.getOlatResource()); areaManager.addBGToBGArea(g1, a1); areaManager.addBGToBGArea(g2, a1); areaManager.addBGToBGArea(g1, a2); diff --git a/src/test/java/org/olat/course/nodes/en/EnrollmentManagerTest.java b/src/test/java/org/olat/course/nodes/en/EnrollmentManagerTest.java index 3cf6beb59e3..57ee89a4e49 100644 --- a/src/test/java/org/olat/course/nodes/en/EnrollmentManagerTest.java +++ b/src/test/java/org/olat/course/nodes/en/EnrollmentManagerTest.java @@ -41,7 +41,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; -import org.apache.log4j.Logger; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -59,6 +58,8 @@ import org.olat.core.id.IdentityEnvironment; import org.olat.core.id.OLATResourceable; import org.olat.core.id.context.BusinessControl; import org.olat.core.id.context.ContextEntry; +import org.olat.core.logging.OLog; +import org.olat.core.logging.Tracing; import org.olat.core.util.Util; import org.olat.core.util.resource.OresHelper; import org.olat.course.CourseFactory; @@ -69,7 +70,7 @@ import org.olat.course.run.userview.UserCourseEnvironment; import org.olat.course.run.userview.UserCourseEnvironmentImpl; import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupService; -import org.olat.resource.OLATResource; +import org.olat.repository.RepositoryEntry; import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; import org.springframework.beans.factory.annotation.Autowired; @@ -83,7 +84,7 @@ import org.springframework.beans.factory.annotation.Autowired; public class EnrollmentManagerTest extends OlatTestCase implements WindowControl { // - private static Logger log = Logger.getLogger(EnrollmentManagerTest.class.getName()); + private static OLog log = Tracing.createLoggerFor(EnrollmentManagerTest.class); /* * ::Test Setup:: */ @@ -114,7 +115,7 @@ public class EnrollmentManagerTest extends OlatTestCase implements WindowControl String bgWithWaitingListDesc = "some short description for Group with WaitingList"; Boolean enableWaitinglist = new Boolean(true); Boolean enableAutoCloseRanks = new Boolean(true); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); System.out.println("testAddToWaitingListAndFireEvent: resource=" + resource); bgWithWaitingList = businessGroupService.createBusinessGroup(id1, bgWithWaitingListName, bgWithWaitingListDesc, -1, -1, enableWaitinglist, enableAutoCloseRanks, resource); @@ -300,10 +301,6 @@ public class EnrollmentManagerTest extends OlatTestCase implements WindowControl } public WindowBackOffice getWindowBackOffice() { - // TODO Auto-generated method stub return null; }; - - -} - +} \ No newline at end of file diff --git a/src/test/java/org/olat/course/statistic/weekly/TestWeeklyStatisticManager_fillGaps.java b/src/test/java/org/olat/course/statistic/weekly/TestWeeklyStatisticManager_fillGaps.java index c1f93fa87ae..95fd80ce4eb 100644 --- a/src/test/java/org/olat/course/statistic/weekly/TestWeeklyStatisticManager_fillGaps.java +++ b/src/test/java/org/olat/course/statistic/weekly/TestWeeklyStatisticManager_fillGaps.java @@ -24,18 +24,21 @@ */ package org.olat.course.statistic.weekly; -import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; -import junit.framework.TestCase; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; -public class TestWeeklyStatisticManager_fillGaps extends TestCase { + +public class TestWeeklyStatisticManager_fillGaps { private WeeklyStatisticManager manager_; - @Override - protected void setUp() throws Exception { + + @Before + public void setUp() throws Exception { manager_ = new WeeklyStatisticManager(); } @@ -44,10 +47,12 @@ public class TestWeeklyStatisticManager_fillGaps extends TestCase { assertListEquals(expectedOutput, resultingTestset); } + @Test public void testNull() throws Exception { - assertNull(manager_.fillGapsInColumnHeaders(null)); + Assert.assertNull(manager_.fillGapsInColumnHeaders(null)); } + @Test public void testOne() throws Exception { for(int i=0; i<50; i++) { String s; @@ -57,26 +62,30 @@ public class TestWeeklyStatisticManager_fillGaps extends TestCase { s = "2010-"+i; } List<String> resultingTestset = manager_.fillGapsInColumnHeaders(createList(s)); - assertNull(resultingTestset); + Assert.assertNull(resultingTestset); } } + @Test public void testSimple() throws Exception { runTest( createList("2010-01", "2010-02", "2010-03"), createList("2010-01", "2010-02", "2010-03")); } + @Test public void testYearChange() throws Exception { runTest( createList("2009-50", "2010-01", "2010-02", "2010-03"), createList("2009-50", "2009-51", "2009-52", "2009-53", "2010-01", "2010-02", "2010-03")); } + @Test public void testAllYearChanges() throws Exception { for(int i=2000; i<2200; i++) { List<String> input = createList(i+"-50", (i+1)+"-03"); List<String> output = manager_.fillGapsInColumnHeaders(input); + Assert.assertNotNull(output); List<String> outputVariant1 = createList(i+"-50", i+"-51", i+"-52", (i+1)+"-01", (i+1)+"-02", (i+1)+"-03"); List<String> outputVariant2 = createList(i+"-50", i+"-51", i+"-52", i+"-53", (i+1)+"-01", (i+1)+"-02", (i+1)+"-03"); @@ -93,49 +102,54 @@ public class TestWeeklyStatisticManager_fillGaps extends TestCase { } else if (!matchesVariant1 && !matchesVariant2 && matchesVariant3) { // perfecto } else { - fail("failed with input "+input); + Assert.fail("failed with input "+input); } } } + @Test public void testWronglyFormatted() throws Exception { runTest( createList("2010-1", "2010-2", "2010-4"), createList("2010-1", "2010-02", "2010-2", "2010-03", "2010-04", "2010-4")); } + @Test public void testGapsA() throws Exception { runTest( createList("2010-01", "2010-02", "2010-04"), createList("2010-01", "2010-02", "2010-03", "2010-04")); } + @Test public void testGapsB() throws Exception { runTest( createList("2010-01", "2010-02", "2010-04", "2010-07"), createList("2010-01", "2010-02", "2010-03", "2010-04", "2010-05", "2010-06", "2010-07")); } + @Test public void testBigGap() throws Exception { runTest( createList("2009-50", "2010-12"), createList("2009-50", "2009-51", "2009-52", "2009-53", "2010-01", "2010-02", "2010-03", "2010-04", "2010-05", "2010-06", "2010-07", "2010-08", "2010-09", "2010-10", "2010-11", "2010-12")); } + @Test public void testWrongInputParams() throws Exception { List<String> resultingTestset = manager_.fillGapsInColumnHeaders(createList("2010-50", "2010-12")); - assertNull(resultingTestset); + Assert.assertNull(resultingTestset); } private void assertListEquals(List<String> testset, List<String> resultingTestset) { if (testset==null || resultingTestset==null) { throw new IllegalArgumentException("testset and resultingtestset must not be empty"); } - assertEquals("size mismatch", testset.size(), resultingTestset.size()); + Assert.assertEquals("size mismatch", testset.size(), resultingTestset.size()); for(int i=0; i<testset.size(); i++) { String expectedStr = testset.get(i); String actualStr = resultingTestset.get(i); - assertEquals("string at position "+i+" mismatch", expectedStr, actualStr); + Assert.assertEquals("string at position "+i+" mismatch", expectedStr, actualStr); } } diff --git a/src/test/java/org/olat/group/test/BGAreaManagerTest.java b/src/test/java/org/olat/group/test/BGAreaManagerTest.java index 7af3cfccb5e..77d092cd017 100644 --- a/src/test/java/org/olat/group/test/BGAreaManagerTest.java +++ b/src/test/java/org/olat/group/test/BGAreaManagerTest.java @@ -53,6 +53,7 @@ import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupService; import org.olat.group.area.BGArea; import org.olat.group.area.BGAreaManager; +import org.olat.repository.RepositoryEntry; import org.olat.resource.OLATResource; import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; @@ -220,9 +221,9 @@ public class BGAreaManagerTest extends OlatTestCase { @Test public void addBGToBGArea() { //create a resource, an area, a group - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area = areaManager.createAndPersistBGArea("area-" + areaName, "description:" + areaName, resource); + BGArea area = areaManager.createAndPersistBGArea("area-" + areaName, "description:" + areaName, resource.getOlatResource()); BusinessGroup group = businessGroupService.createBusinessGroup(null, "area-group", "area-group-desc", 0, -1, false, false, resource); dbInstance.commitAndCloseSession(); @@ -233,10 +234,10 @@ public class BGAreaManagerTest extends OlatTestCase { @Test public void deleteBGArea() { - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource); - BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource); + BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource.getOlatResource()); + BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource.getOlatResource()); 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); @@ -264,11 +265,11 @@ public class BGAreaManagerTest extends OlatTestCase { @Test public void addAndFindByResource() { //create a resource, an area, a group - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource); - BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource); - BGArea area3 = areaManager.createAndPersistBGArea("area-3-" + areaName, "description:" + areaName, resource); + 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()); 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); @@ -282,11 +283,11 @@ public class BGAreaManagerTest extends OlatTestCase { dbInstance.commitAndCloseSession(); //count - int numOfAreas = areaManager.countBGAreasInContext(resource); + int numOfAreas = areaManager.countBGAreasInContext(resource.getOlatResource()); Assert.assertEquals(3, numOfAreas); //find areas - List<BGArea> areas = areaManager.findBGAreasInContext(resource); + List<BGArea> areas = areaManager.findBGAreasInContext(resource.getOlatResource()); Assert.assertNotNull(areas); Assert.assertEquals(3, areas.size()); Assert.assertTrue(areas.contains(area1)); @@ -297,10 +298,10 @@ public class BGAreaManagerTest extends OlatTestCase { @Test public void addAndFindByGroup() { //create a resource, an area, a group - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource); - BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource); + BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource.getOlatResource()); + BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource.getOlatResource()); 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); @@ -331,10 +332,10 @@ public class BGAreaManagerTest extends OlatTestCase { @Test public void addAndFindByGroups() { //create a resource, an area, a group - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource); - BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource); + BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource.getOlatResource()); + BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource.getOlatResource()); 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); @@ -386,9 +387,9 @@ public class BGAreaManagerTest extends OlatTestCase { @Test public void addFindAndDeleteRelation() { //create a resource, an area, a group - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource); + BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + 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); @@ -420,11 +421,11 @@ public class BGAreaManagerTest extends OlatTestCase { @Test public void findGroupsByAreas() { //create a resource, 3 area and 2 group - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource); - BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource); - BGArea area3 = areaManager.createAndPersistBGArea("area-3-" + areaName, "description:" + areaName, resource); + 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); @@ -462,11 +463,11 @@ public class BGAreaManagerTest extends OlatTestCase { @Test public void countBGAreasOfBusinessGroups() { //create a resource, 3 area and 2 group - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area1 = areaManager.createAndPersistBGArea("count-1-" + areaName, "description:" + areaName, resource); - BGArea area2 = areaManager.createAndPersistBGArea("count-2-" + areaName, "description:" + areaName, resource); - BGArea area3 = areaManager.createAndPersistBGArea("count-3-" + areaName, "description:" + areaName, resource); + 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); @@ -497,10 +498,10 @@ public class BGAreaManagerTest extends OlatTestCase { @Test public void addAndDeleteRelations() { //create a resource, an area, a group - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource); - BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource); + BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource.getOlatResource()); + BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + 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); @@ -536,10 +537,10 @@ public class BGAreaManagerTest extends OlatTestCase { Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("attendee-2-" + UUID.randomUUID().toString()); Identity id3 = JunitTestHelper.createAndPersistIdentityAsUser("attendee-3-" + UUID.randomUUID().toString()); //create a resource, an area, a group - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource); - BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource); + BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource.getOlatResource()); + BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + 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); @@ -559,20 +560,20 @@ public class BGAreaManagerTest extends OlatTestCase { dbInstance.commitAndCloseSession(); //find with resource - List<BusinessGroup> groupId1 = areaManager.findBusinessGroupsOfAreaAttendedBy(id1, null, resource); + List<BusinessGroup> groupId1 = areaManager.findBusinessGroupsOfAreaAttendedBy(id1, null, resource.getOlatResource()); Assert.assertNotNull(groupId1); Assert.assertEquals(1, groupId1.size()); Assert.assertTrue(groupId1.contains(group1)); //find nothing with name and resource List<Long> area2Keys = Collections.singletonList(area2.getKey()); - List<BusinessGroup> groupId1Area2 = areaManager.findBusinessGroupsOfAreaAttendedBy(id1, area2Keys, resource); + List<BusinessGroup> groupId1Area2 = areaManager.findBusinessGroupsOfAreaAttendedBy(id1, area2Keys, resource.getOlatResource()); Assert.assertNotNull(groupId1Area2); Assert.assertEquals(0, groupId1Area2.size()); //find groups id 2 with name and resource List<Long> area1Keys = Collections.singletonList(area1.getKey()); - List<BusinessGroup> groupId2Area1 = areaManager.findBusinessGroupsOfAreaAttendedBy(id2, area1Keys, resource); + List<BusinessGroup> groupId2Area1 = areaManager.findBusinessGroupsOfAreaAttendedBy(id2, area1Keys, resource.getOlatResource()); Assert.assertNotNull(groupId2Area1); Assert.assertEquals(2, groupId2Area1.size()); Assert.assertTrue(groupId2Area1.contains(group2)); @@ -583,11 +584,11 @@ public class BGAreaManagerTest extends OlatTestCase { public void isIdentityInBGArea() { Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("attendee-1-" + UUID.randomUUID().toString()); //create a resource, an area, a group - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); String areaName = UUID.randomUUID().toString(); - BGArea area1 = areaManager.createAndPersistBGArea("area-1-" + areaName, "description:" + areaName, resource); - BGArea area2 = areaManager.createAndPersistBGArea("area-2-" + areaName, "description:" + areaName, resource); - BGArea area3 = areaManager.createAndPersistBGArea("area-3-" + areaName, "description:" + areaName, resource); + 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); @@ -605,24 +606,24 @@ public class BGAreaManagerTest extends OlatTestCase { dbInstance.commitAndCloseSession(); //check in area 1 - boolean testArea1 = areaManager.isIdentityInBGArea(id1, "area-1-" + areaName, null, resource); + 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); + 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); + 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); + 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); + 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); + boolean testArea6 = areaManager.isIdentityInBGArea(id1, null, area3.getKey(), resource.getOlatResource()); Assert.assertFalse(testArea6); } diff --git a/src/test/java/org/olat/group/test/BGRightManagerTest.java b/src/test/java/org/olat/group/test/BGRightManagerTest.java index 8ab0397b468..416b315d236 100644 --- a/src/test/java/org/olat/group/test/BGRightManagerTest.java +++ b/src/test/java/org/olat/group/test/BGRightManagerTest.java @@ -51,7 +51,7 @@ import org.olat.group.BusinessGroupService; import org.olat.group.right.BGRightManager; import org.olat.group.right.BGRights; import org.olat.group.right.BGRightsRole; -import org.olat.resource.OLATResource; +import org.olat.repository.RepositoryEntry; import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; import org.springframework.beans.factory.annotation.Autowired; @@ -115,7 +115,7 @@ public class BGRightManagerTest extends OlatTestCase { */ @Test public void addRight() { - OLATResource c1 = JunitTestHelper.createRandomResource(); + RepositoryEntry c1 = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup g1 = businessGroupService.createBusinessGroup(null, "addRight", null, -1, -1, false, false, c1); rightManager.addBGRight("test-right", g1, BGRightsRole.participant); dbInstance.commitAndCloseSession(); @@ -123,9 +123,9 @@ public class BGRightManagerTest extends OlatTestCase { @Test public void addRightWithResource() { - OLATResource c1 = JunitTestHelper.createRandomResource(); + RepositoryEntry c1 = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup g1 = businessGroupService.createBusinessGroup(null, "addRight", null, -1, -1, false, false, c1); - rightManager.addBGRight("test-right", g1, c1, BGRightsRole.participant); + rightManager.addBGRight("test-right", g1, c1.getOlatResource(), BGRightsRole.participant); dbInstance.commitAndCloseSession(); } @@ -133,17 +133,17 @@ public class BGRightManagerTest extends OlatTestCase { public void hasBGRight() { //create a right for the identity Identity identity = JunitTestHelper.createAndPersistIdentityAsUser("has-right-1-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "hasBGRight", null, -1, -1, false, false, resource); securityManager.addIdentityToSecurityGroup(identity, group.getPartipiciantGroup()); rightManager.addBGRight("bgr.has-right", group, BGRightsRole.participant); dbInstance.commitAndCloseSession(); //check if the right is set - boolean right = rightManager.hasBGRight("bgr.has-right", identity, resource); + boolean right = rightManager.hasBGRight("bgr.has-right", identity, resource.getOlatResource()); Assert.assertTrue(right); //check if a dummy is not set - boolean notright = rightManager.hasBGRight("bgrblabla", identity, resource); + boolean notright = rightManager.hasBGRight("bgrblabla", identity, resource.getOlatResource()); Assert.assertFalse(notright); } @@ -151,17 +151,17 @@ public class BGRightManagerTest extends OlatTestCase { public void hasBGRightWithResource_participant() { //create a right for the identity Identity identity = JunitTestHelper.createAndPersistIdentityAsUser("has-right-2-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "hasBGRight", null, -1, -1, false, false, resource); securityManager.addIdentityToSecurityGroup(identity, group.getPartipiciantGroup()); - rightManager.addBGRight("bgr.has-right", group, resource, BGRightsRole.participant); + rightManager.addBGRight("bgr.has-right", group, resource.getOlatResource(), BGRightsRole.participant); dbInstance.commitAndCloseSession(); //check if the right is set - boolean right = rightManager.hasBGRight("bgr.has-right", identity, resource); + boolean right = rightManager.hasBGRight("bgr.has-right", identity, resource.getOlatResource()); Assert.assertTrue(right); //check if a dummy is not set - boolean notright = rightManager.hasBGRight("bgrblabla", identity, resource); + boolean notright = rightManager.hasBGRight("bgrblabla", identity, resource.getOlatResource()); Assert.assertFalse(notright); } @@ -169,26 +169,26 @@ public class BGRightManagerTest extends OlatTestCase { public void hasBGRightWithResource_tutor() { //create 2 rights for the identity Identity identity = JunitTestHelper.createAndPersistIdentityAsUser("tp-rights-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "tpBGRight", null, -1, -1, false, false, resource); securityManager.addIdentityToSecurityGroup(identity, group.getOwnerGroup()); - rightManager.addBGRight("bgr.right1", group, resource, BGRightsRole.tutor); + rightManager.addBGRight("bgr.right1", group, resource.getOlatResource(), BGRightsRole.tutor); dbInstance.commitAndCloseSession(); //check if the rights are set List<String> rights = rightManager.findBGRights(group, BGRightsRole.tutor); Assert.assertEquals(1, rights.size()); - Assert.assertTrue(rightManager.hasBGRight("bgr.right1", identity, resource)); + Assert.assertTrue(rightManager.hasBGRight("bgr.right1", identity, resource.getOlatResource())); } @Test public void hasBGRightWithResource_tutor_asParticipant() { //create 2 rights for the identity Identity identity = JunitTestHelper.createAndPersistIdentityAsUser("tp-rights-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "tpBGRight", null, -1, -1, false, false, resource); securityManager.addIdentityToSecurityGroup(identity, group.getPartipiciantGroup()); - rightManager.addBGRight("bgr.right1", group, resource, BGRightsRole.tutor); + rightManager.addBGRight("bgr.right1", group, resource.getOlatResource(), BGRightsRole.tutor); dbInstance.commitAndCloseSession(); //check if the rights are set @@ -196,7 +196,7 @@ public class BGRightManagerTest extends OlatTestCase { Assert.assertEquals(1, rights.size()); Assert.assertTrue(rights.contains("bgr.right1")); //check that a participant cannot have a tutor right - Assert.assertFalse(rightManager.hasBGRight("bgr.right1", identity, resource)); + Assert.assertFalse(rightManager.hasBGRight("bgr.right1", identity, resource.getOlatResource())); } @Test @@ -205,14 +205,14 @@ public class BGRightManagerTest extends OlatTestCase { Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("tp-rights-" + UUID.randomUUID().toString()); Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("tp-rights-" + UUID.randomUUID().toString()); Identity id3 = JunitTestHelper.createAndPersistIdentityAsUser("tp-rights-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "tpBGRight", null, -1, -1, false, false, resource); securityManager.addIdentityToSecurityGroup(id1, group.getPartipiciantGroup()); securityManager.addIdentityToSecurityGroup(id2, group.getOwnerGroup()); securityManager.addIdentityToSecurityGroup(id2, group.getPartipiciantGroup()); securityManager.addIdentityToSecurityGroup(id3, group.getOwnerGroup()); - rightManager.addBGRight("bgr.right1", group, resource, BGRightsRole.tutor); - rightManager.addBGRight("bgr.right2", group, resource, BGRightsRole.participant); + rightManager.addBGRight("bgr.right1", group, resource.getOlatResource(), BGRightsRole.tutor); + rightManager.addBGRight("bgr.right2", group, resource.getOlatResource(), BGRightsRole.participant); dbInstance.commitAndCloseSession(); //check if the rights are set @@ -224,21 +224,21 @@ public class BGRightManagerTest extends OlatTestCase { Assert.assertEquals("bgr.right2", participantRights.get(0)); //id1 -> right2 - Assert.assertFalse(rightManager.hasBGRight("bgr.right1", id1, resource)); - Assert.assertTrue(rightManager.hasBGRight("bgr.right2", id1, resource)); + Assert.assertFalse(rightManager.hasBGRight("bgr.right1", id1, resource.getOlatResource())); + Assert.assertTrue(rightManager.hasBGRight("bgr.right2", id1, resource.getOlatResource())); //id2 -> right1 and right2 - Assert.assertTrue(rightManager.hasBGRight("bgr.right1", id2, resource)); - Assert.assertTrue(rightManager.hasBGRight("bgr.right2", id2, resource)); + Assert.assertTrue(rightManager.hasBGRight("bgr.right1", id2, resource.getOlatResource())); + Assert.assertTrue(rightManager.hasBGRight("bgr.right2", id2, resource.getOlatResource())); //id3 -> right2 - Assert.assertTrue(rightManager.hasBGRight("bgr.right1", id3, resource)); - Assert.assertFalse(rightManager.hasBGRight("bgr.right2", id3, resource)); + Assert.assertTrue(rightManager.hasBGRight("bgr.right1", id3, resource.getOlatResource())); + Assert.assertFalse(rightManager.hasBGRight("bgr.right2", id3, resource.getOlatResource())); } @Test public void findBGRights() { //create 2 rights for the identity Identity identity = JunitTestHelper.createAndPersistIdentityAsUser("find-rights-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "findBGRights", null, -1, -1, false, false, resource); securityManager.addIdentityToSecurityGroup(identity, group.getPartipiciantGroup()); rightManager.addBGRight("bgr.findright1", group, BGRightsRole.participant); @@ -257,7 +257,7 @@ public class BGRightManagerTest extends OlatTestCase { public void hasBGRights() { //create 2 rights for the identity Identity identity = JunitTestHelper.createAndPersistIdentityAsUser("find-rights-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "findBGRights", null, -1, -1, false, false, resource); securityManager.addIdentityToSecurityGroup(identity, group.getPartipiciantGroup()); rightManager.addBGRight("bgr.findright1", group, BGRightsRole.participant); @@ -277,7 +277,7 @@ public class BGRightManagerTest extends OlatTestCase { public void removeBGRight() { //create 2 rights for the identity Identity identity = JunitTestHelper.createAndPersistIdentityAsUser("remove-rights-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "removeBGRight", null, -1, -1, false, false, resource); securityManager.addIdentityToSecurityGroup(identity, group.getPartipiciantGroup()); rightManager.addBGRight("bgr.removeright1", group, BGRightsRole.participant); @@ -287,19 +287,19 @@ public class BGRightManagerTest extends OlatTestCase { //check if the rights are set List<String> rights = rightManager.findBGRights(group, BGRightsRole.participant); Assert.assertEquals(2, rights.size()); - Assert.assertTrue(rightManager.hasBGRight("bgr.removeright1", identity, resource)); - Assert.assertTrue(rightManager.hasBGRight("bgr.removeright2", identity, resource)); + Assert.assertTrue(rightManager.hasBGRight("bgr.removeright1", identity, resource.getOlatResource())); + Assert.assertTrue(rightManager.hasBGRight("bgr.removeright2", identity, resource.getOlatResource())); //remove right 1 - rightManager.removeBGRight("bgr.removeright1", group, resource, BGRightsRole.participant); + rightManager.removeBGRight("bgr.removeright1", group, resource.getOlatResource(), BGRightsRole.participant); dbInstance.commitAndCloseSession(); //check if there is only 1 right List<String> rightsAfterDelete = rightManager.findBGRights(group, BGRightsRole.participant); Assert.assertEquals(1, rightsAfterDelete.size()); Assert.assertTrue(rightsAfterDelete.contains("bgr.removeright2")); - Assert.assertFalse(rightManager.hasBGRight("bgr.removeright1", identity, resource)); - Assert.assertTrue(rightManager.hasBGRight("bgr.removeright2", identity, resource)); + Assert.assertFalse(rightManager.hasBGRight("bgr.removeright1", identity, resource.getOlatResource())); + Assert.assertTrue(rightManager.hasBGRight("bgr.removeright2", identity, resource.getOlatResource())); } @Test @@ -307,27 +307,27 @@ public class BGRightManagerTest extends OlatTestCase { //create 2 rights for the identity Identity tutor = JunitTestHelper.createAndPersistIdentityAsUser("remove-rights-" + UUID.randomUUID().toString()); Identity participant = JunitTestHelper.createAndPersistIdentityAsUser("remove-rights-" + UUID.randomUUID().toString()); - OLATResource resource1 = JunitTestHelper.createRandomResource(); - OLATResource resource2 = JunitTestHelper.createRandomResource(); + RepositoryEntry resource1 = JunitTestHelper.createAndPersistRepositoryEntry(); + RepositoryEntry resource2 = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "removeBGRight", null, -1, -1, false, false, resource1); businessGroupService.addResourceTo(group, resource2); securityManager.addIdentityToSecurityGroup(tutor, group.getOwnerGroup()); securityManager.addIdentityToSecurityGroup(participant, group.getPartipiciantGroup()); - rightManager.addBGRight("bgr.removeright1", group, resource1, BGRightsRole.tutor); - rightManager.addBGRight("bgr.removeright2", group, resource1, BGRightsRole.participant); - rightManager.addBGRight("bgr.dontrmght3", group, resource2, BGRightsRole.tutor); - rightManager.addBGRight("bgr.dontrmght4", group, resource2, BGRightsRole.participant); + rightManager.addBGRight("bgr.removeright1", group, resource1.getOlatResource(), BGRightsRole.tutor); + rightManager.addBGRight("bgr.removeright2", group, resource1.getOlatResource(), BGRightsRole.participant); + rightManager.addBGRight("bgr.dontrmght3", group, resource2.getOlatResource(), BGRightsRole.tutor); + rightManager.addBGRight("bgr.dontrmght4", group, resource2.getOlatResource(), BGRightsRole.participant); dbInstance.commitAndCloseSession(); //check if the rights are set List<String> rights = rightManager.findBGRights(group, BGRightsRole.participant); Assert.assertEquals(2, rights.size()); - Assert.assertFalse(rightManager.hasBGRight("bgr.removeright1", participant, resource1)); - Assert.assertTrue(rightManager.hasBGRight("bgr.removeright2", participant, resource1)); + Assert.assertFalse(rightManager.hasBGRight("bgr.removeright1", participant, resource1.getOlatResource())); + Assert.assertTrue(rightManager.hasBGRight("bgr.removeright2", participant, resource1.getOlatResource())); //remove tutor right 1 - rightManager.removeBGRight("bgr.removeright1", group, resource1, BGRightsRole.tutor); + rightManager.removeBGRight("bgr.removeright1", group, resource1.getOlatResource(), BGRightsRole.tutor); dbInstance.commitAndCloseSession(); //check if there is only 1 right @@ -335,7 +335,7 @@ public class BGRightManagerTest extends OlatTestCase { Assert.assertEquals(2, participantRights.size()); //remove participant right 2 - rightManager.removeBGRight("bgr.removeright2", group, resource1, BGRightsRole.participant); + rightManager.removeBGRight("bgr.removeright2", group, resource1.getOlatResource(), BGRightsRole.participant); dbInstance.commitAndCloseSession(); //check tutor rights @@ -354,27 +354,27 @@ public class BGRightManagerTest extends OlatTestCase { //create 2 rights for the identity Identity tutor = JunitTestHelper.createAndPersistIdentityAsUser("remove-rights-" + UUID.randomUUID().toString()); Identity participant = JunitTestHelper.createAndPersistIdentityAsUser("remove-rights-" + UUID.randomUUID().toString()); - OLATResource resource1 = JunitTestHelper.createRandomResource(); - OLATResource resource2 = JunitTestHelper.createRandomResource(); + RepositoryEntry resource1 = JunitTestHelper.createAndPersistRepositoryEntry(); + RepositoryEntry resource2 = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "removeBGRight", null, -1, -1, false, false, resource1); businessGroupService.addResourceTo(group, resource2); securityManager.addIdentityToSecurityGroup(tutor, group.getOwnerGroup()); securityManager.addIdentityToSecurityGroup(participant, group.getPartipiciantGroup()); - rightManager.addBGRight("bgr.removeright1", group, resource1, BGRightsRole.tutor); - rightManager.addBGRight("bgr.removeright2", group, resource1, BGRightsRole.participant); - rightManager.addBGRight("bgr.dontrmght3", group, resource2, BGRightsRole.tutor); - rightManager.addBGRight("bgr.dontrmght4", group, resource2, BGRightsRole.participant); + rightManager.addBGRight("bgr.removeright1", group, resource1.getOlatResource(), BGRightsRole.tutor); + rightManager.addBGRight("bgr.removeright2", group, resource1.getOlatResource(), BGRightsRole.participant); + rightManager.addBGRight("bgr.dontrmght3", group, resource2.getOlatResource(), BGRightsRole.tutor); + rightManager.addBGRight("bgr.dontrmght4", group, resource2.getOlatResource(), BGRightsRole.participant); dbInstance.commitAndCloseSession(); //check if the rights are set List<String> rights = rightManager.findBGRights(group, BGRightsRole.participant); Assert.assertEquals(2, rights.size()); - Assert.assertFalse(rightManager.hasBGRight("bgr.removeright1", participant, resource1)); - Assert.assertTrue(rightManager.hasBGRight("bgr.removeright2", participant, resource1)); + Assert.assertFalse(rightManager.hasBGRight("bgr.removeright1", participant, resource1.getOlatResource())); + Assert.assertTrue(rightManager.hasBGRight("bgr.removeright2", participant, resource1.getOlatResource())); //remove tutor right 1 - rightManager.removeBGRights(group, resource1, BGRightsRole.tutor); + rightManager.removeBGRights(group, resource1.getOlatResource(), BGRightsRole.tutor); dbInstance.commitAndCloseSession(); //check if there is only 1 right @@ -382,7 +382,7 @@ public class BGRightManagerTest extends OlatTestCase { Assert.assertEquals(2, participantRights.size()); //remove participant right 2 - rightManager.removeBGRights(group, resource1, BGRightsRole.participant); + rightManager.removeBGRights(group, resource1.getOlatResource(), BGRightsRole.participant); dbInstance.commitAndCloseSession(); //check tutor rights @@ -398,38 +398,38 @@ public class BGRightManagerTest extends OlatTestCase { @Test public void findBGRights_wrapped() { //create - OLATResource resource1 = JunitTestHelper.createRandomResource(); - OLATResource resource2 = JunitTestHelper.createRandomResource(); - OLATResource resource3 = JunitTestHelper.createRandomResource(); + RepositoryEntry resource1 = JunitTestHelper.createAndPersistRepositoryEntry(); + RepositoryEntry resource2 = JunitTestHelper.createAndPersistRepositoryEntry(); + RepositoryEntry resource3 = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group1 = businessGroupService.createBusinessGroup(null, "findRights", null, -1, -1, false, false, resource1); businessGroupService.addResourceTo(group1, resource2); BusinessGroup group2 = businessGroupService.createBusinessGroup(null, "findRights", null, -1, -1, false, false, resource3); - rightManager.addBGRight("bgr.fr1", group1, resource1, BGRightsRole.tutor); - rightManager.addBGRight("bgr.fr2", group1, resource1, BGRightsRole.participant); - rightManager.addBGRight("bgr.fr3", group2, resource1, BGRightsRole.tutor); - rightManager.addBGRight("bgr.fr4", group2, resource2, BGRightsRole.tutor); - rightManager.addBGRight("bgr.fr5", group2, resource3, BGRightsRole.participant); + rightManager.addBGRight("bgr.fr1", group1, resource1.getOlatResource(), BGRightsRole.tutor); + rightManager.addBGRight("bgr.fr2", group1, resource1.getOlatResource(), BGRightsRole.participant); + rightManager.addBGRight("bgr.fr3", group2, resource1.getOlatResource(), BGRightsRole.tutor); + rightManager.addBGRight("bgr.fr4", group2, resource2.getOlatResource(), BGRightsRole.tutor); + rightManager.addBGRight("bgr.fr5", group2, resource3.getOlatResource(), BGRightsRole.participant); dbInstance.commitAndCloseSession(); //check - List<BGRights> rights1_1 = rightManager.findBGRights(Collections.singletonList(group1), resource1); + List<BGRights> rights1_1 = rightManager.findBGRights(Collections.singletonList(group1), resource1.getOlatResource()); Assert.assertNotNull(rights1_1); Assert.assertEquals(2, rights1_1.size()); - List<BGRights> rights2_2 = rightManager.findBGRights(Collections.singletonList(group2), resource2); + List<BGRights> rights2_2 = rightManager.findBGRights(Collections.singletonList(group2), resource2.getOlatResource()); Assert.assertNotNull(rights2_2); Assert.assertEquals(1, rights2_2.size()); - List<BGRights> rights2_3 = rightManager.findBGRights(Collections.singletonList(group2), resource3); + List<BGRights> rights2_3 = rightManager.findBGRights(Collections.singletonList(group2), resource3.getOlatResource()); Assert.assertNotNull(rights2_3); Assert.assertEquals(1, rights2_3.size()); List<BusinessGroup> groups = new ArrayList<BusinessGroup>(); groups.add(group1); groups.add(group2); - List<BGRights> rightsAll_1 = rightManager.findBGRights(groups, resource1); + List<BGRights> rightsAll_1 = rightManager.findBGRights(groups, resource1.getOlatResource()); Assert.assertNotNull(rightsAll_1); Assert.assertEquals(3, rightsAll_1.size()); } @@ -438,21 +438,21 @@ public class BGRightManagerTest extends OlatTestCase { public void removeUnkownRight() { //create 2 rights for the identity Identity identity = JunitTestHelper.createAndPersistIdentityAsUser("remove-rights-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "removeBGRight", null, -1, -1, false, false, resource); securityManager.addIdentityToSecurityGroup(identity, group.getPartipiciantGroup()); rightManager.addBGRight("bgr.removeright1", group, BGRightsRole.participant); dbInstance.commitAndCloseSession(); //remove a dummy right which doesn't exists - rightManager.removeBGRight("bgr.removeblabla", group, resource, BGRightsRole.participant); + rightManager.removeBGRight("bgr.removeblabla", group, resource.getOlatResource(), BGRightsRole.participant); } /** BGContextManagerImpl:deleteBGContext() * */ @Test public void testBGRights() { - OLATResource c1 = JunitTestHelper.createRandomResource(); - OLATResource c2 = JunitTestHelper.createRandomResource(); + RepositoryEntry c1 = JunitTestHelper.createAndPersistRepositoryEntry(); + RepositoryEntry c2 = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup g1 = businessGroupService.createBusinessGroup(null, "g1", null, -1, -1, false, false, c1); BusinessGroup g2 = businessGroupService.createBusinessGroup(null, "g2", null, -1, -1, false, false, c1); @@ -473,13 +473,13 @@ public class BGRightManagerTest extends OlatTestCase { Assert.assertEquals(4, policies.size()); // read, parti, archiving, courseeditor DBFactory.getInstance().closeSession(); // simulate user clicks - assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id1, c2)); - assertTrue(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id1, c1)); - assertTrue(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id2, c1)); - assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_GROUPMANAGEMENT, id2, c1)); - assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id3, c2)); - assertTrue(rightManager.hasBGRight(CourseRights.RIGHT_COURSEEDITOR, id3, c2)); - assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_COURSEEDITOR, id3, c1)); + assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id1, c2.getOlatResource())); + assertTrue(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id1, c1.getOlatResource())); + assertTrue(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id2, c1.getOlatResource())); + assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_GROUPMANAGEMENT, id2, c1.getOlatResource())); + assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id3, c2.getOlatResource())); + assertTrue(rightManager.hasBGRight(CourseRights.RIGHT_COURSEEDITOR, id3, c2.getOlatResource())); + assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_COURSEEDITOR, id3, c1.getOlatResource())); /* * assertTrue(rm.hasBGRight(CourseRights.RIGHT_ARCHIVING, g1)); @@ -491,15 +491,15 @@ public class BGRightManagerTest extends OlatTestCase { Assert.assertEquals(1, rightManager.findBGRights(g2, BGRightsRole.participant).size()); DBFactory.getInstance().closeSession(); // simulate user clicks - rightManager.removeBGRight(CourseRights.RIGHT_ARCHIVING, g1, c1, BGRightsRole.participant); - rightManager.removeBGRight(CourseRights.RIGHT_COURSEEDITOR, g1, c1, BGRightsRole.participant); - rightManager.removeBGRight(CourseRights.RIGHT_ARCHIVING, g2, c1, BGRightsRole.participant); - rightManager.removeBGRight(CourseRights.RIGHT_COURSEEDITOR, g3, c2, BGRightsRole.participant); + rightManager.removeBGRight(CourseRights.RIGHT_ARCHIVING, g1, c1.getOlatResource(), BGRightsRole.participant); + rightManager.removeBGRight(CourseRights.RIGHT_COURSEEDITOR, g1, c1.getOlatResource(), BGRightsRole.participant); + rightManager.removeBGRight(CourseRights.RIGHT_ARCHIVING, g2, c1.getOlatResource(), BGRightsRole.participant); + rightManager.removeBGRight(CourseRights.RIGHT_COURSEEDITOR, g3, c2.getOlatResource(), BGRightsRole.participant); DBFactory.getInstance().closeSession(); // simulate user clicks - assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id1, c1)); - assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id2, c1)); - assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_COURSEEDITOR, id3, c2)); + assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id1, c1.getOlatResource())); + assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_ARCHIVING, id2, c1.getOlatResource())); + assertFalse(rightManager.hasBGRight(CourseRights.RIGHT_COURSEEDITOR, id3, c2.getOlatResource())); Assert.assertEquals(0, rightManager.findBGRights(g1, BGRightsRole.participant).size()); Assert.assertEquals(0, rightManager.findBGRights(g2, BGRightsRole.participant).size()); diff --git a/src/test/java/org/olat/group/test/BusinessGroupImportExportTest.java b/src/test/java/org/olat/group/test/BusinessGroupImportExportTest.java index a6de45fc406..ecdedad82b4 100644 --- a/src/test/java/org/olat/group/test/BusinessGroupImportExportTest.java +++ b/src/test/java/org/olat/group/test/BusinessGroupImportExportTest.java @@ -36,7 +36,7 @@ import org.olat.group.area.BGArea; import org.olat.group.area.BGAreaManager; import org.olat.group.model.DisplayMembers; import org.olat.group.model.SearchBusinessGroupParams; -import org.olat.resource.OLATResource; +import org.olat.repository.RepositoryEntry; import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; import org.springframework.beans.factory.annotation.Autowired; @@ -64,7 +64,7 @@ public class BusinessGroupImportExportTest extends OlatTestCase { @Test public void importLearningGroupsWithResource() throws URISyntaxException { - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); URL input = BusinessGroupImportExportTest.class.getResource("learninggroupexport_2.xml"); File importXml = new File(input.toURI()); @@ -72,14 +72,14 @@ public class BusinessGroupImportExportTest extends OlatTestCase { dbInstance.commitAndCloseSession(); //check if all three groups are imported - List<BusinessGroup> groups = businessGroupService.findBusinessGroups(null, resource, 0, -1); + List<BusinessGroup> groups = businessGroupService.findBusinessGroups(null, resource.getOlatResource(), 0, -1); Assert.assertNotNull(groups); Assert.assertEquals(3, groups.size()); //get first group (members true, true, false) (no collaboration tools) SearchBusinessGroupParams params = new SearchBusinessGroupParams(); params.setExactName("Export group 1"); - List<BusinessGroup> group1List = businessGroupService.findBusinessGroups(params, resource, 0, -1); + List<BusinessGroup> group1List = businessGroupService.findBusinessGroups(params, resource.getOlatResource(), 0, -1); Assert.assertNotNull(group1List); Assert.assertEquals(1, group1List.size()); //check settings of the first group @@ -107,7 +107,7 @@ public class BusinessGroupImportExportTest extends OlatTestCase { //get third group (members true, true, true) (all collaboration tools) params.setExactName("Export group 3"); - List<BusinessGroup> group3List = businessGroupService.findBusinessGroups(params, resource, 0, -1); + List<BusinessGroup> group3List = businessGroupService.findBusinessGroups(params, resource.getOlatResource(), 0, -1); Assert.assertNotNull(group3List); Assert.assertEquals(1, group3List.size()); //check settings of the first group @@ -138,7 +138,7 @@ public class BusinessGroupImportExportTest extends OlatTestCase { @Test public void importLearningGroupsAndAreasWithResource() throws URISyntaxException { - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); URL input = BusinessGroupImportExportTest.class.getResource("learninggroupexport_3.xml"); File importXml = new File(input.toURI()); @@ -146,17 +146,17 @@ public class BusinessGroupImportExportTest extends OlatTestCase { dbInstance.commitAndCloseSession(); //check if all three groups are imported - List<BusinessGroup> groups = businessGroupService.findBusinessGroups(null, resource, 0, -1); + List<BusinessGroup> groups = businessGroupService.findBusinessGroups(null, resource.getOlatResource(), 0, -1); Assert.assertNotNull(groups); Assert.assertEquals(3, groups.size()); //check if all three areas are imported - List<BGArea> areas = areaManager.findBGAreasInContext(resource); + List<BGArea> areas = areaManager.findBGAreasInContext(resource.getOlatResource()); Assert.assertNotNull(areas); Assert.assertEquals(3, areas.size()); //check first area - BGArea area1 = areaManager.findBGArea("Area 1", resource); + BGArea area1 = areaManager.findBGArea("Area 1", resource.getOlatResource()); Assert.assertNotNull(area1); Assert.assertEquals("Area 1", area1.getName()); Assert.assertEquals("<p>Area 1 description</p>", area1.getDescription()); @@ -168,7 +168,7 @@ public class BusinessGroupImportExportTest extends OlatTestCase { Assert.assertTrue(groupArea1.get(0).getName().equals("Export group 2") || groupArea1.get(1).getName().equals("Export group 2")); //check empty area - BGArea area3 = areaManager.findBGArea("Area 3", resource); + BGArea area3 = areaManager.findBGArea("Area 3", resource.getOlatResource()); Assert.assertNotNull(area1); Assert.assertEquals("Area 3", area3.getName()); //check relation to groups diff --git a/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java b/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java index 640662206ca..33080d6e92e 100644 --- a/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java +++ b/src/test/java/org/olat/group/test/BusinessGroupServiceTest.java @@ -49,7 +49,7 @@ import org.olat.core.util.Encoder; import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupService; import org.olat.group.model.SearchBusinessGroupParams; -import org.olat.resource.OLATResource; +import org.olat.repository.RepositoryEntry; import org.olat.test.JunitTestHelper; import org.olat.test.OlatTestCase; import org.olat.user.UserManager; @@ -150,7 +150,7 @@ public class BusinessGroupServiceTest extends OlatTestCase { String bgWithWaitingListDesc = "some short description for Group with WaitingList"; Boolean enableWaitinglist = new Boolean(true); Boolean enableAutoCloseRanks = new Boolean(true); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); System.out.println("testAddToWaitingListAndFireEvent: resource=" + resource); bgWithWaitingList = businessGroupService.createBusinessGroup(id1, bgWithWaitingListName, bgWithWaitingListDesc, -1, -1, enableWaitinglist, enableAutoCloseRanks, resource); @@ -188,7 +188,7 @@ public class BusinessGroupServiceTest extends OlatTestCase { @Test public void createBusinessGroupWithResource() { - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(null, "gdao", "gdao-desc", -1, -1, false, false, resource); //commit the group @@ -207,7 +207,7 @@ public class BusinessGroupServiceTest extends OlatTestCase { public void testCreateUpdateBusinessGroup_v1() { //create a group Identity id = JunitTestHelper.createAndPersistIdentityAsUser("grp-up-1-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(id, "up-1", "up-1-desc", -1, -1, false, false, resource); Assert.assertNotNull(group); dbInstance.commitAndCloseSession(); @@ -230,7 +230,7 @@ public class BusinessGroupServiceTest extends OlatTestCase { public void testCreateUpdateBusinessGroup_v2() { //create a group Identity id = JunitTestHelper.createAndPersistIdentityAsUser("grp-up-2-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(id, "up-2", "up-2-desc", -1, -1, false, false, resource); Assert.assertNotNull(group); dbInstance.commitAndCloseSession(); @@ -259,8 +259,8 @@ public class BusinessGroupServiceTest extends OlatTestCase { Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("grp-auto-2-" + UUID.randomUUID().toString()); Identity id3 = JunitTestHelper.createAndPersistIdentityAsUser("grp-auto-3-" + UUID.randomUUID().toString()); Identity id4 = JunitTestHelper.createAndPersistIdentityAsUser("grp-auto-4-" + UUID.randomUUID().toString()); - - OLATResource resource = JunitTestHelper.createRandomResource(); + + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(id0, "auto-1", "auto-1-desc", new Integer(0), new Integer(1), true, true, resource); Assert.assertNotNull(group); @@ -294,8 +294,8 @@ public class BusinessGroupServiceTest extends OlatTestCase { Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("grp-auto-2-" + UUID.randomUUID().toString()); Identity id3 = JunitTestHelper.createAndPersistIdentityAsUser("grp-auto-3-" + UUID.randomUUID().toString()); Identity id4 = JunitTestHelper.createAndPersistIdentityAsUser("grp-auto-4-" + UUID.randomUUID().toString()); - - OLATResource resource = JunitTestHelper.createRandomResource(); + + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group = businessGroupService.createBusinessGroup(id0, "auto-1", "auto-1-desc", new Integer(0), new Integer(1), false, false, resource); Assert.assertNotNull(group); @@ -323,13 +323,13 @@ public class BusinessGroupServiceTest extends OlatTestCase { @Test public void testGroupsOfBGContext() { - OLATResource c1 = JunitTestHelper.createRandomResource(); - OLATResource c2 = JunitTestHelper.createRandomResource(); + RepositoryEntry c1 = JunitTestHelper.createAndPersistRepositoryEntry(); + RepositoryEntry c2 = JunitTestHelper.createAndPersistRepositoryEntry(); dbInstance.commitAndCloseSession(); // simulate user clicks SearchBusinessGroupParams params1 = new SearchBusinessGroupParams(null, false, false); - assertTrue(businessGroupService.findBusinessGroups(params1, c1, 0, -1).isEmpty()); - assertTrue(businessGroupService.countBusinessGroups(params1, c1) == 0); + assertTrue(businessGroupService.findBusinessGroups(params1, c1.getOlatResource(), 0, -1).isEmpty()); + assertTrue(businessGroupService.countBusinessGroups(params1, c1.getOlatResource()) == 0); dbInstance.commitAndCloseSession(); // simulate user clicks BusinessGroup g1 = businessGroupService.createBusinessGroup(null, "g1", null, 0, 10, false, false, c1); @@ -347,8 +347,8 @@ public class BusinessGroupServiceTest extends OlatTestCase { dbInstance.commitAndCloseSession(); // simulate user clicks SearchBusinessGroupParams params2 = new SearchBusinessGroupParams(null, false, false); - Assert.assertEquals(3, businessGroupService.findBusinessGroups(params2, c1, 0, -1).size()); - Assert.assertEquals(3, businessGroupService.countBusinessGroups(params2, c1)); + Assert.assertEquals(3, businessGroupService.findBusinessGroups(params2, c1.getOlatResource(), 0, -1).size()); + Assert.assertEquals(3, businessGroupService.countBusinessGroups(params2, c1.getOlatResource())); } @Test @@ -547,7 +547,7 @@ public class BusinessGroupServiceTest extends OlatTestCase { Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("rm-w3-2-" + UUID.randomUUID().toString()); Identity id3 = JunitTestHelper.createAndPersistIdentityAsUser("rm-w3-3-" + UUID.randomUUID().toString()); Identity id4 = JunitTestHelper.createAndPersistIdentityAsUser("rm-w3-4-" + UUID.randomUUID().toString()); - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup group1 = businessGroupService.createBusinessGroup(id1, "move-bg-3", "move-desc", 0, 10, true, false, resource); BusinessGroup group2 = businessGroupService.createBusinessGroup(id2, "move-bg-3", "move-desc", 0, 10, true, false, resource); BusinessGroup group3 = businessGroupService.createBusinessGroup(id3, "move-bg-3", "move-desc", 0, 10, true, false, resource); @@ -570,7 +570,7 @@ public class BusinessGroupServiceTest extends OlatTestCase { List<Identity> identitiesToRemove = new ArrayList<Identity>(); identitiesToRemove.add(id1); identitiesToRemove.add(id3); - businessGroupService.removeMembers(admin, identitiesToRemove, resource); + businessGroupService.removeMembers(admin, identitiesToRemove, resource.getOlatResource()); dbInstance.commitAndCloseSession(); //check in group1 stay only id2 in waiting list @@ -730,7 +730,7 @@ public class BusinessGroupServiceTest extends OlatTestCase { } private void doTestDeleteBusinessGroup(boolean withWaitingList) { - OLATResource resource = JunitTestHelper.createRandomResource(); + RepositoryEntry resource = JunitTestHelper.createAndPersistRepositoryEntry(); BusinessGroup deleteTestGroup = businessGroupService.createBusinessGroup(id1, "deleteTestGroup-1", "deleteTestGroup-1", -1, -1, withWaitingList, true, resource); diff --git a/src/test/java/org/olat/repository/RepositoryManagerTest.java b/src/test/java/org/olat/repository/RepositoryManagerTest.java index b09119febda..b0c11e1886f 100644 --- a/src/test/java/org/olat/repository/RepositoryManagerTest.java +++ b/src/test/java/org/olat/repository/RepositoryManagerTest.java @@ -229,7 +229,7 @@ public class RepositoryManagerTest extends OlatTestCase { public void getLearningResourcesAsStudentWithGroups() { Identity id = JunitTestHelper.createAndPersistIdentityAsUser("re-stud-lb-" + UUID.randomUUID().toString()); RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "studg", "tg", null, null, false, false, re.getOlatResource()); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "studg", "tg", null, null, false, false, re); securityManager.addIdentityToSecurityGroup(id, group.getPartipiciantGroup()); dbInstance.commitAndCloseSession(); @@ -272,7 +272,7 @@ public class RepositoryManagerTest extends OlatTestCase { public void getLearningResourcesAsTeacherWithGroups() { Identity id = JunitTestHelper.createAndPersistIdentityAsUser("re-teac-lb-" + UUID.randomUUID().toString()); RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "teacherg", "tg", null, null, false, false, re.getOlatResource()); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "teacherg", "tg", null, null, false, false, re); securityManager.addIdentityToSecurityGroup(id, group.getOwnerGroup()); dbInstance.commitAndCloseSession(); @@ -294,7 +294,7 @@ public class RepositoryManagerTest extends OlatTestCase { public void queryByTypeLimitAccess() { Identity id = JunitTestHelper.createAndPersistIdentityAsUser("qbtla-1-" + UUID.randomUUID().toString()); RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(true); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "qbtla-1", "tg", null, null, false, false, re.getOlatResource()); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "qbtla-1", "tg", null, null, false, false, re); securityManager.addIdentityToSecurityGroup(id, group.getOwnerGroup()); dbInstance.commitAndCloseSession(); @@ -317,7 +317,7 @@ public class RepositoryManagerTest extends OlatTestCase { Identity id1 = JunitTestHelper.createAndPersistIdentityAsUser("re-member-lc-" + UUID.randomUUID().toString()); Identity id2 = JunitTestHelper.createAndPersistIdentityAsUser("re-member-lc-" + UUID.randomUUID().toString()); RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "memberg", "tg", null, null, false, false, re.getOlatResource()); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "memberg", "tg", null, null, false, false, re); securityManager.addIdentityToSecurityGroup(id1, group.getOwnerGroup()); dbInstance.commitAndCloseSession(); @@ -490,7 +490,7 @@ public class RepositoryManagerTest extends OlatTestCase { Identity id3 = JunitTestHelper.createAndPersistIdentityAsUser("re-gen-3-" + UUID.randomUUID().toString()); RepositoryEntry re = JunitTestHelper.createAndPersistRepositoryEntry(true); securityManager.addIdentityToSecurityGroup(id1, re.getOwnerGroup()); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "teacherg", "tg", null, null, false, false, re.getOlatResource()); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "teacherg", "tg", null, null, false, false, re); securityManager.addIdentityToSecurityGroup(id2, group.getOwnerGroup()); dbInstance.commitAndCloseSession(); @@ -547,7 +547,7 @@ public class RepositoryManagerTest extends OlatTestCase { RepositoryEntry re2 = JunitTestHelper.createAndPersistRepositoryEntry(true); securityManager.addIdentityToSecurityGroup(id1, re2.getParticipantGroup()); - BusinessGroup group = businessGroupService.createBusinessGroup(null, "teacherg", "tg", null, null, false, false, re1.getOlatResource()); + BusinessGroup group = businessGroupService.createBusinessGroup(null, "teacherg", "tg", null, null, false, false, re1); securityManager.addIdentityToSecurityGroup(id2, group.getPartipiciantGroup()); dbInstance.commitAndCloseSession(); diff --git a/src/test/java/org/olat/restapi/ContactsTest.java b/src/test/java/org/olat/restapi/ContactsTest.java index 41838e8fd88..9ab4cc420a0 100644 --- a/src/test/java/org/olat/restapi/ContactsTest.java +++ b/src/test/java/org/olat/restapi/ContactsTest.java @@ -116,7 +116,7 @@ public class ContactsTest extends OlatJerseyTestCase { BaseSecurity secm = BaseSecurityManager.getInstance(); // 1) context one: learning groups - OLATResource c1 = JunitTestHelper.createRandomResource(); + RepositoryEntry c1 = JunitTestHelper.createAndPersistRepositoryEntry(); // create groups without waiting list g1 = businessGroupService.createBusinessGroup(null, "rest-g1", null, 0, 10, false, false, c1); g2 = businessGroupService.createBusinessGroup(null, "rest-g2", null, 0, 10, false, false, c1); @@ -137,7 +137,7 @@ public class ContactsTest extends OlatJerseyTestCase { // 2) context two: right groups - OLATResource c2 = JunitTestHelper.createRandomResource(); + RepositoryEntry c2 = JunitTestHelper.createAndPersistRepositoryEntry(); // groups g3 = businessGroupService.createBusinessGroup(null, "rest-g3", null, -1, -1, false, false, c2); businessGroupService.updateDisplayMembers(g3, new DisplayMembers(false, true, false)); diff --git a/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java b/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java index 9e08d661326..42d0d58ab0b 100644 --- a/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java +++ b/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java @@ -61,6 +61,7 @@ import org.olat.core.logging.Tracing; import org.olat.core.util.resource.OresHelper; import org.olat.group.BusinessGroup; import org.olat.group.BusinessGroupService; +import org.olat.repository.RepositoryEntry; import org.olat.resource.OLATResource; import org.olat.resource.OLATResourceManager; import org.olat.restapi.support.vo.GroupVO; @@ -85,7 +86,7 @@ public class CourseGroupMgmtTest extends OlatJerseyTestCase { private Identity id1, id2; private BusinessGroup g1, g2; private BusinessGroup g3, g4; - private OLATResource course; + private RepositoryEntry course; private RestConnection conn; @@ -113,7 +114,9 @@ public class CourseGroupMgmtTest extends OlatJerseyTestCase { OLATResourceManager rm = OLATResourceManager.getInstance(); // create course and persist as OLATResourceImpl OLATResourceable resourceable = OresHelper.createOLATResourceableInstance("junitcourse",System.currentTimeMillis()); - course = rm.createOLATResourceInstance(resourceable); + OLATResource r = rm.createOLATResourceInstance(resourceable); + rm.saveOLATResource(r); + course = JunitTestHelper.createAndPersistRepositoryEntry(r, false); DBFactory.getInstance().saveObject(course); DBFactory.getInstance().closeSession(); diff --git a/src/test/java/org/olat/restapi/GroupFoldersTest.java b/src/test/java/org/olat/restapi/GroupFoldersTest.java index 5eac47e5111..b835021e3fc 100644 --- a/src/test/java/org/olat/restapi/GroupFoldersTest.java +++ b/src/test/java/org/olat/restapi/GroupFoldersTest.java @@ -148,7 +148,7 @@ public class GroupFoldersTest extends OlatJerseyTestCase { BaseSecurity secm = BaseSecurityManager.getInstance(); // 1) context one: learning groups - OLATResource c1 = JunitTestHelper.createRandomResource(); + RepositoryEntry c1 = JunitTestHelper.createAndPersistRepositoryEntry(); // create groups without waiting list g1 = businessGroupService.createBusinessGroup(null, "rest-g1", null, 0, 10, false, false, c1); g2 = businessGroupService.createBusinessGroup(null, "rest-g2", null, 0, 10, false, false, c1); diff --git a/src/test/java/org/olat/restapi/GroupMgmtTest.java b/src/test/java/org/olat/restapi/GroupMgmtTest.java index 1566774b5f5..97bea4a93b9 100644 --- a/src/test/java/org/olat/restapi/GroupMgmtTest.java +++ b/src/test/java/org/olat/restapi/GroupMgmtTest.java @@ -160,7 +160,7 @@ public class GroupMgmtTest extends OlatJerseyTestCase { BaseSecurity secm = BaseSecurityManager.getInstance(); // 1) context one: learning groups - OLATResource c1 = JunitTestHelper.createRandomResource(); + RepositoryEntry c1 = JunitTestHelper.createAndPersistRepositoryEntry(); // create groups without waiting list g1 = businessGroupService.createBusinessGroup(null, "rest-g1", null, 0, 10, false, false, c1); g2 = businessGroupService.createBusinessGroup(null, "rest-g2", null, 0, 10, false, false, c1); @@ -181,7 +181,7 @@ public class GroupMgmtTest extends OlatJerseyTestCase { // 2) context two: right groups - OLATResource c2 = JunitTestHelper.createRandomResource(); + RepositoryEntry c2 = JunitTestHelper.createAndPersistRepositoryEntry(); // groups g3 = businessGroupService.createBusinessGroup(null, "rest-g3", null, -1, -1, false, false, c2); g4 = businessGroupService.createBusinessGroup(null, "rest-g4", null, -1, -1, false, false, c2); diff --git a/src/test/java/org/olat/restapi/UserMgmtTest.java b/src/test/java/org/olat/restapi/UserMgmtTest.java index af89e29b994..bf33b73f43e 100644 --- a/src/test/java/org/olat/restapi/UserMgmtTest.java +++ b/src/test/java/org/olat/restapi/UserMgmtTest.java @@ -175,7 +175,7 @@ public class UserMgmtTest extends OlatJerseyTestCase { BaseSecurity secm = BaseSecurityManager.getInstance(); // 1) context one: learning groups - OLATResource c1 = JunitTestHelper.createRandomResource(); + RepositoryEntry c1 = JunitTestHelper.createAndPersistRepositoryEntry(); // create groups without waiting list g1 = businessGroupService.createBusinessGroup(null, "user-rest-g1", null, 0, 10, false, false, c1); g2 = businessGroupService.createBusinessGroup(null, "user-rest-g2", null, 0, 10, false, false, c1); @@ -187,7 +187,7 @@ public class UserMgmtTest extends OlatJerseyTestCase { secm.addIdentityToSecurityGroup(id1, g2.getPartipiciantGroup()); // 2) context two: right groups - OLATResource c2 = JunitTestHelper.createRandomResource(); + RepositoryEntry c2 = JunitTestHelper.createAndPersistRepositoryEntry(); // groups g3 = businessGroupService.createBusinessGroup(null, "user-rest-g3", null, -1, -1, false, false, c2); g4 = businessGroupService.createBusinessGroup(null, "user-rest-g4", null, -1, -1, false, false, c2); diff --git a/src/test/java/org/olat/test/AllTestsJunit4.java b/src/test/java/org/olat/test/AllTestsJunit4.java index 08f2cfd5a06..6289e32e41d 100644 --- a/src/test/java/org/olat/test/AllTestsJunit4.java +++ b/src/test/java/org/olat/test/AllTestsJunit4.java @@ -116,6 +116,7 @@ import org.junit.runners.Suite; // org.olat.test.OlatJerseyTestCase.class, // NO TEST METHODS org.olat.test.SpringInitDestroyVerficationTest.class, org.olat.course.statistic.TestLoggingVersionManagerImpl.class, + org.olat.course.statistic.weekly.TestWeeklyStatisticManager_fillGaps.class, org.olat.core.commons.service.usercomments.UserCommentsTest.class, org.olat.core.commons.service.usercomments.UserRatingsTest.class, org.olat.course.auditing.UserNodeAuditManagerTest.class, diff --git a/src/test/java/org/olat/test/JunitTestHelper.java b/src/test/java/org/olat/test/JunitTestHelper.java index 92eea5dcb6e..abfe7a89d29 100644 --- a/src/test/java/org/olat/test/JunitTestHelper.java +++ b/src/test/java/org/olat/test/JunitTestHelper.java @@ -147,7 +147,10 @@ public class JunitTestHelper { OLATResourceable ores = OresHelper.createOLATResourceableInstance(UUID.randomUUID().toString(), CodeHelper.getForeverUniqueID()); OLATResource r = resourceManager.createOLATResourceInstance(ores); resourceManager.saveOLATResource(r); - + return createAndPersistRepositoryEntry(r, membersOnly); + } + + public static final RepositoryEntry createAndPersistRepositoryEntry(OLATResource r, boolean membersOnly) { RepositoryManager repositoryManager = RepositoryManager.getInstance(); RepositoryEntry re = repositoryManager.createRepositoryEntryInstance("Florian Gnägi"); re.setOlatResource(r); @@ -158,7 +161,7 @@ public class JunitTestHelper { re.setAccess(RepositoryEntry.ACC_USERS); } re.setResourcename("Lernen mit OLAT"); - re.setDisplayname(ores.getResourceableTypeName()); + re.setDisplayname(r.getResourceableTypeName()); repositoryManager.createOwnerSecurityGroup(re); repositoryManager.createTutorSecurityGroup(re); repositoryManager.createParticipantSecurityGroup(re); -- GitLab