use of org.olat.resource.OLATResourceManager in project OpenOLAT by OpenOLAT.
the class QTIStatisticsManagerLargeTest method createRepository.
private RepositoryEntry createRepository() {
OLATResourceManager rm = OLATResourceManager.getInstance();
// create course and persist as OLATResourceImpl
OLATResource r = rm.createOLATResourceInstance("QTIStatisticsTest");
dbInstance.saveObject(r);
dbInstance.intermediateCommit();
RepositoryEntry d = repositoryService.create("Kanu Unchou", "QTIStatisticsTest", "QTIStatisticsTest", "Repo entry", r);
dbInstance.saveObject(d);
dbInstance.intermediateCommit();
return d;
}
use of org.olat.resource.OLATResourceManager in project OpenOLAT by OpenOLAT.
the class RepositoryManagerTest method testRawRepositoryEntryCreate.
/**
* Test creation of a repository entry.
*/
@Test
public void testRawRepositoryEntryCreate() {
try {
OLATResourceable resourceable = OresHelper.createOLATResourceableInstance("RepoMgrTestCourse", CodeHelper.getForeverUniqueID());
OLATResourceManager rm = OLATResourceManager.getInstance();
// create course and persist as OLATResourceImpl
OLATResource r = rm.createOLATResourceInstance(resourceable);
dbInstance.getCurrentEntityManager().persist(r);
RepositoryEntry d = repositoryService.create("Florian Gnägi", "Lernen mit OpenOLAT", "JunitTest_RepositoryEntry", "Beschreibung", r);
dbInstance.commit();
Assert.assertNotNull(d);
} catch (Exception ex) {
ex.printStackTrace();
fail("No Exception allowed. ex=" + ex.getMessage());
}
}
use of org.olat.resource.OLATResourceManager in project OpenOLAT by OpenOLAT.
the class CertificationWebService method putCertificate.
/**
* Generate a new certificate.
*
* @response.representation.200.doc If the certificate was created
* @response.representation.401.doc The roles of the authenticated user are not sufficient
* @response.representation.404.doc The identity or the resource cannot be found
* @response.representation.500.doc An unexpected error happened during the creation of the certificate
* @param identityKey The owner of the certificate
* @param resourceKey The primary key of the resource of the repository entry of the course.
* @param score The score which appears in the certificate
* @param passed The passed/failed which appears in the certificate (true/false)
* @param creationDate The date of the certification
* @param request The request
* @return Nothing special
*/
@PUT
@Path("{identityKey}")
public Response putCertificate(@PathParam("identityKey") Long identityKey, @PathParam("resourceKey") Long resourceKey, @QueryParam("score") Float score, @QueryParam("passed") Boolean passed, @QueryParam("creationDate") String creationDate, @Context HttpServletRequest request) {
if (!isAdmin(request)) {
return Response.serverError().status(Status.UNAUTHORIZED).build();
}
BaseSecurity baseSecurity = CoreSpringFactory.getImpl(BaseSecurity.class);
Identity assessedIdentity = baseSecurity.loadIdentityByKey(identityKey);
if (assessedIdentity == null) {
return Response.serverError().status(Response.Status.NOT_FOUND).build();
}
OLATResourceManager resourceManager = CoreSpringFactory.getImpl(OLATResourceManager.class);
OLATResource resource = resourceManager.findResourceById(resourceKey);
if (resource == null) {
resource = resourceManager.findResourceable(resourceKey, "CourseModule");
}
if (resource == null) {
return Response.serverError().status(Response.Status.NOT_FOUND).build();
} else {
CertificatesManager certificatesManager = CoreSpringFactory.getImpl(CertificatesManager.class);
ICourse course = CourseFactory.loadCourse(resource);
RepositoryEntry entry = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
CertificateTemplate template = null;
Long templateId = course.getCourseConfig().getCertificateTemplate();
if (templateId != null) {
template = certificatesManager.getTemplateById(templateId);
}
CertificateInfos certificateInfos = new CertificateInfos(assessedIdentity, score, passed);
if (StringHelper.containsNonWhitespace(creationDate)) {
Date date = ObjectFactory.parseDate(creationDate);
certificateInfos.setCreationDate(date);
}
Certificate certificate = certificatesManager.generateCertificate(certificateInfos, entry, template, false);
if (certificate != null) {
return Response.ok().build();
}
return Response.serverError().status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
}
use of org.olat.resource.OLATResourceManager in project OpenOLAT by OpenOLAT.
the class CertificationWebService method postCertificate.
/**
* Upload a new certificate.
*
* @response.representation.200.doc if the certificate was uploaded
* @response.representation.401.doc The roles of the authenticated user are not sufficient
* @response.representation.404.doc The identity or the resource cannot be found
* @param identityKey The owner of the certificate
* @param resourceKey The primary key of the resource of the repository entry of the course.
* @param request The request
* @return Nothing special
*/
@POST
@Path("{identityKey}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response postCertificate(@PathParam("identityKey") Long identityKey, @PathParam("resourceKey") Long resourceKey, @Context HttpServletRequest request) {
if (!isAdmin(request)) {
return Response.serverError().status(Status.UNAUTHORIZED).build();
}
MultipartReader partsReader = null;
try {
partsReader = new MultipartReader(request);
File tmpFile = partsReader.getFile();
String courseTitle = partsReader.getValue("courseTitle");
String creationDateStr = partsReader.getValue("creationDate");
Date creationDate = null;
if (StringHelper.containsNonWhitespace(creationDateStr)) {
creationDate = ObjectFactory.parseDate(creationDateStr);
}
CertificatesManager certificatesManager = CoreSpringFactory.getImpl(CertificatesManager.class);
BaseSecurity baseSecurity = CoreSpringFactory.getImpl(BaseSecurity.class);
Identity assessedIdentity = baseSecurity.loadIdentityByKey(identityKey);
if (assessedIdentity == null) {
return Response.serverError().status(Response.Status.NOT_FOUND).build();
}
OLATResourceManager resourceManager = CoreSpringFactory.getImpl(OLATResourceManager.class);
OLATResource resource = resourceManager.findResourceById(resourceKey);
if (resource == null) {
certificatesManager.uploadStandaloneCertificate(assessedIdentity, creationDate, courseTitle, resourceKey, tmpFile);
} else {
certificatesManager.uploadCertificate(assessedIdentity, creationDate, resource, tmpFile);
}
return Response.ok().build();
} catch (Throwable e) {
throw new WebApplicationException(e);
} finally {
MultipartReader.closeQuietly(partsReader);
}
}
use of org.olat.resource.OLATResourceManager in project OpenOLAT by OpenOLAT.
the class GlossaryManagerImpl method createGlossary.
/**
* Creates a glossary resource and creates the necessary folders on disk. The
* glossary will be placed in the resources _unizipped dir to make import /
* export easier
*
* @return
*/
@Override
public GlossaryResource createGlossary() {
GlossaryResource resource = new GlossaryResource();
VFSContainer rootContainer = FileResourceManager.getInstance().getFileResourceRootImpl(resource);
if (rootContainer == null)
return null;
if (rootContainer.createChildContainer(INTERNAL_FOLDER_NAME) == null)
return null;
OLATResourceManager rm = OLATResourceManager.getInstance();
OLATResource ores = rm.createOLATResourceInstance(resource);
rm.saveOLATResource(ores);
return resource;
}
Aggregations