Skip to content
Snippets Groups Projects
Commit 51f16d60 authored by srosse's avatar srosse
Browse files

OO-1063: fix doInSync exception

parent b0aa378a
No related branches found
No related tags found
No related merge requests found
...@@ -54,7 +54,6 @@ import org.olat.core.CoreSpringFactory; ...@@ -54,7 +54,6 @@ import org.olat.core.CoreSpringFactory;
import org.olat.core.commons.persistence.DBFactory; import org.olat.core.commons.persistence.DBFactory;
import org.olat.core.gui.UserRequest; import org.olat.core.gui.UserRequest;
import org.olat.core.gui.control.Controller; import org.olat.core.gui.control.Controller;
import org.olat.core.helpers.Settings;
import org.olat.core.id.Identity; import org.olat.core.id.Identity;
import org.olat.core.id.OLATResourceable; import org.olat.core.id.OLATResourceable;
import org.olat.core.id.Roles; import org.olat.core.id.Roles;
...@@ -199,13 +198,10 @@ public class CoursesWebService { ...@@ -199,13 +198,10 @@ public class CoursesWebService {
@Path("{courseId}") @Path("{courseId}")
public CourseWebService getCourse(@PathParam("courseId") Long courseId) { public CourseWebService getCourse(@PathParam("courseId") Long courseId) {
OLATResource ores = getCourseOLATResource(courseId); ICourse course = loadCourse(courseId);
if(ores == null) return null;
ICourse course = CourseFactory.loadCourse(courseId);
if(course == null) return null; if(course == null) return null;
CourseWebService courseWs = new CourseWebService(ores, course); OLATResource ores = course.getCourseEnvironment().getCourseGroupManager().getCourseResource();
return new CourseWebService(ores, course);
return courseWs;
} }
/** /**
...@@ -330,16 +326,6 @@ public class CoursesWebService { ...@@ -330,16 +326,6 @@ public class CoursesWebService {
return Response.ok(vo).build(); 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) { public static boolean isCourseAccessible(ICourse course, boolean authorRightsMandatory, HttpServletRequest request) {
if(authorRightsMandatory && !isAuthor(request)) { if(authorRightsMandatory && !isAuthor(request)) {
return false; return false;
......
...@@ -56,15 +56,14 @@ import org.junit.Test; ...@@ -56,15 +56,14 @@ import org.junit.Test;
import org.olat.basesecurity.BaseSecurity; import org.olat.basesecurity.BaseSecurity;
import org.olat.core.commons.persistence.DB; import org.olat.core.commons.persistence.DB;
import org.olat.core.id.Identity; import org.olat.core.id.Identity;
import org.olat.core.id.OLATResourceable;
import org.olat.core.logging.OLog; import org.olat.core.logging.OLog;
import org.olat.core.logging.Tracing; 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.BusinessGroup;
import org.olat.group.BusinessGroupService; import org.olat.group.BusinessGroupService;
import org.olat.repository.RepositoryEntry; import org.olat.repository.RepositoryEntry;
import org.olat.resource.OLATResource; import org.olat.repository.RepositoryManager;
import org.olat.resource.OLATResourceManager; import org.olat.restapi.repository.course.CoursesWebService;
import org.olat.restapi.support.vo.GroupVO; import org.olat.restapi.support.vo.GroupVO;
import org.olat.test.JunitTestHelper; import org.olat.test.JunitTestHelper;
import org.olat.test.OlatJerseyTestCase; import org.olat.test.OlatJerseyTestCase;
...@@ -92,11 +91,13 @@ public class CourseGroupMgmtTest extends OlatJerseyTestCase { ...@@ -92,11 +91,13 @@ public class CourseGroupMgmtTest extends OlatJerseyTestCase {
private RestConnection conn; private RestConnection conn;
@Autowired @Autowired
DB dbInstance; private DB dbInstance;
@Autowired @Autowired
private BusinessGroupService businessGroupService; private BusinessGroupService businessGroupService;
@Autowired @Autowired
private BaseSecurity securityManager; private BaseSecurity securityManager;
@Autowired
private RepositoryManager repositoryManager;
/** /**
...@@ -113,15 +114,11 @@ public class CourseGroupMgmtTest extends OlatJerseyTestCase { ...@@ -113,15 +114,11 @@ public class CourseGroupMgmtTest extends OlatJerseyTestCase {
id1 = JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-1"); id1 = JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-1");
id2 = JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-2"); id2 = JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-2");
JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-3"); JunitTestHelper.createAndPersistIdentityAsUser("rest-c-g-3");
Identity auth = JunitTestHelper.createAndPersistIdentityAsUser("rest-course-grp-one");
OLATResourceManager rm = OLATResourceManager.getInstance(); ICourse course = CoursesWebService.createEmptyCourse(auth, "course for groups", "course with groups for REST API testing", null);
// 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);
dbInstance.commitAndCloseSession(); dbInstance.commitAndCloseSession();
courseRepoEntry = repositoryManager.lookupRepositoryEntry(course, true);
// create groups without waiting list // create groups without waiting list
g1 = businessGroupService.createBusinessGroup(null, "rest-g1", null, 0, 10, false, false, courseRepoEntry); g1 = businessGroupService.createBusinessGroup(null, "rest-g1", null, 0, 10, false, false, courseRepoEntry);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment