diff --git a/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java b/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java index 9cafe6d3110a74c588ea69485d45f938df5f594f..792c7a89977104b219275a04d016c92160b3e7f4 100644 --- a/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java +++ b/src/main/java/org/olat/restapi/repository/course/CoursesWebService.java @@ -54,7 +54,6 @@ import org.olat.core.CoreSpringFactory; import org.olat.core.commons.persistence.DBFactory; import org.olat.core.gui.UserRequest; import org.olat.core.gui.control.Controller; -import org.olat.core.helpers.Settings; import org.olat.core.id.Identity; import org.olat.core.id.OLATResourceable; import org.olat.core.id.Roles; @@ -199,13 +198,10 @@ public class CoursesWebService { @Path("{courseId}") public CourseWebService getCourse(@PathParam("courseId") Long courseId) { - OLATResource ores = getCourseOLATResource(courseId); - if(ores == null) return null; - ICourse course = CourseFactory.loadCourse(courseId); + ICourse course = loadCourse(courseId); if(course == null) return null; - CourseWebService courseWs = new CourseWebService(ores, course); - - return courseWs; + OLATResource ores = course.getCourseEnvironment().getCourseGroupManager().getCourseResource(); + return new CourseWebService(ores, course); } /** @@ -330,16 +326,6 @@ public class CoursesWebService { return Response.ok(vo).build(); } - private OLATResource getCourseOLATResource(Long courseId) { - String typeName = OresHelper.calculateTypeName(CourseModule.class); - OLATResource ores = OLATResourceManager.getInstance().findResourceable(courseId, typeName); - if(ores == null && Settings.isJUnitTest()) { - //hack for the BGContextManagerImpl which load the course - ores = OLATResourceManager.getInstance().findResourceable(courseId, "junitcourse"); - } - return ores; - } - public static boolean isCourseAccessible(ICourse course, boolean authorRightsMandatory, HttpServletRequest request) { if(authorRightsMandatory && !isAuthor(request)) { return false; diff --git a/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java b/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java index 8e571120d3526669074c0d8857a0891e41e5e22c..af2caf1f44c782ba8d0bcabd2dafa0146aa397db 100644 --- a/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java +++ b/src/test/java/org/olat/restapi/CourseGroupMgmtTest.java @@ -56,15 +56,14 @@ import org.junit.Test; import org.olat.basesecurity.BaseSecurity; import org.olat.core.commons.persistence.DB; import org.olat.core.id.Identity; -import org.olat.core.id.OLATResourceable; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; -import org.olat.core.util.resource.OresHelper; +import org.olat.course.ICourse; 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.repository.RepositoryManager; +import org.olat.restapi.repository.course.CoursesWebService; import org.olat.restapi.support.vo.GroupVO; import org.olat.test.JunitTestHelper; import org.olat.test.OlatJerseyTestCase; @@ -92,11 +91,13 @@ public class CourseGroupMgmtTest extends OlatJerseyTestCase { private RestConnection conn; @Autowired - DB dbInstance; + private DB dbInstance; @Autowired private BusinessGroupService businessGroupService; @Autowired private BaseSecurity securityManager; + @Autowired + private RepositoryManager repositoryManager; /** @@ -113,15 +114,11 @@ public class CourseGroupMgmtTest extends OlatJerseyTestCase { id1 = JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-1"); id2 = JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-2"); JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-3"); - - OLATResourceManager rm = OLATResourceManager.getInstance(); - // create course and persist as OLATResourceImpl - OLATResourceable resourceable = OresHelper.createOLATResourceableInstance("junitcourse",System.currentTimeMillis()); - OLATResource r = rm.createOLATResourceInstance(resourceable); - rm.saveOLATResource(r); - courseRepoEntry = JunitTestHelper.createAndPersistRepositoryEntry(r, false); - dbInstance.saveObject(courseRepoEntry); + Identity auth = JunitTestHelper.createAndPersistIdentityAsUser("rest-course-grp-one"); + ICourse course = CoursesWebService.createEmptyCourse(auth, "course for groups", "course with groups for REST API testing", null); dbInstance.commitAndCloseSession(); + courseRepoEntry = repositoryManager.lookupRepositoryEntry(course, true); + // create groups without waiting list g1 = businessGroupService.createBusinessGroup(null, "rest-g1", null, 0, 10, false, false, courseRepoEntry);