use of org.olat.modules.portfolio.model.BinderImpl in project OpenOLAT by OpenOLAT.
the class PageDAOTest method getOwnedPages.
@Test
public void getOwnedPages() {
// an owned binder
Identity author = JunitTestHelper.createAndPersistIdentityAsRndUser("pf-1");
Binder binder = portfolioService.createNewBinder("Binder p2", "A binder with 2 page", null, author);
Section section = binderDao.createSection("Section", "First section", null, null, binder);
dbInstance.commitAndCloseSession();
Section reloadedSection = binderDao.loadSectionByKey(section.getKey());
Page page1 = pageDao.createAndPersist("Page 1", "A page with content.", null, null, true, reloadedSection, null);
Page page2 = pageDao.createAndPersist("Page 2", "A page with content.", null, null, true, reloadedSection, null);
Page page3 = pageDao.createAndPersist("Anime", "Princess Mononoke is the second most famous anime of Miazaki.", null, null, true, reloadedSection, null);
dbInstance.commitAndCloseSession();
// a not owned binder
BinderImpl binderAlt = binderDao.createAndPersist("Not my binder", "A binder that I don't own", null, null);
Section sectionAlt = binderDao.createSection("Section", "First section", null, null, binderAlt);
dbInstance.commitAndCloseSession();
Section reloadedSectionAlt = binderDao.loadSectionByKey(sectionAlt.getKey());
Page pageAlt = pageDao.createAndPersist("Page alt", "A page with alternative content.", null, null, true, reloadedSectionAlt, null);
dbInstance.commitAndCloseSession();
// reload
List<Page> sectionPages = pageDao.getOwnedPages(author, null);
Assert.assertNotNull(sectionPages);
Assert.assertEquals(3, sectionPages.size());
Assert.assertTrue(sectionPages.contains(page1));
Assert.assertTrue(sectionPages.contains(page2));
Assert.assertTrue(sectionPages.contains(page3));
Assert.assertFalse(sectionPages.contains(pageAlt));
// reload
List<Page> searchedPages = pageDao.getOwnedPages(author, "Miazaki");
Assert.assertNotNull(searchedPages);
Assert.assertEquals(1, searchedPages.size());
Assert.assertFalse(searchedPages.contains(page1));
Assert.assertFalse(searchedPages.contains(page2));
Assert.assertTrue(searchedPages.contains(page3));
Assert.assertFalse(sectionPages.contains(pageAlt));
}
use of org.olat.modules.portfolio.model.BinderImpl in project OpenOLAT by OpenOLAT.
the class EvaluationFormResponseDAOTest method createResponseforPortfolio.
@Test
public void createResponseforPortfolio() {
// prepare a test case with the binder up to the page body
Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("eva-1");
BinderImpl binder = binderDao.createAndPersist("Binder evaluation 1", "A binder with an evaluation", null, null);
Section section = binderDao.createSection("Section", "First section", null, null, binder);
dbInstance.commit();
Section reloadedSection = binderDao.loadSectionByKey(section.getKey());
Page page = pageDao.createAndPersist("Page 1", "A page with an evalutation.", null, null, true, reloadedSection, null);
dbInstance.commit();
RepositoryEntry formEntry = createFormEntry("Eva. form for responses");
PageBody reloadedBody = pageDao.loadPageBodyByKey(page.getBody().getKey());
EvaluationFormSession session = evaluationFormSessionDao.createSessionForPortfolio(id, reloadedBody, formEntry);
dbInstance.commit();
// create a response
String responseIdentifier = UUID.randomUUID().toString();
BigDecimal numericalValue = new BigDecimal("2.2");
String stringuifiedResponse = numericalValue.toPlainString();
Path fileResponse = Paths.get("this", "is", "a", "path");
EvaluationFormResponse response = evaluationFormResponseDao.createResponse(responseIdentifier, numericalValue, stringuifiedResponse, fileResponse, session);
dbInstance.commit();
Assert.assertNotNull(response);
Assert.assertNotNull(response.getKey());
Assert.assertNotNull(response.getCreationDate());
Assert.assertNotNull(response.getLastModified());
Assert.assertEquals(session, response.getSession());
Assert.assertEquals(numericalValue, response.getNumericalResponse());
Assert.assertEquals(stringuifiedResponse, response.getStringuifiedResponse());
Assert.assertEquals(fileResponse, response.getFileResponse());
Assert.assertEquals(responseIdentifier, response.getResponseIdentifier());
}
use of org.olat.modules.portfolio.model.BinderImpl in project OpenOLAT by OpenOLAT.
the class BinderUserInformationsDAOTest method updateBinderUserInformations.
@Test
public void updateBinderUserInformations() {
Identity identity = JunitTestHelper.createAndPersistIdentityAsRndUser("bu-1");
BinderImpl binder = binderDao.createAndPersist("Binder infos", "Binder with one section.", null, null);
dbInstance.commitAndCloseSession();
// update the infos
binderUserInformationsDAO.updateBinderUserInformations(binder, identity);
dbInstance.commit();
// load the infos and check
BinderUserInformations infos = binderUserInformationsDAO.getBinderUserInfos(binder, identity);
Assert.assertNotNull(infos);
Assert.assertNotNull(infos.getKey());
Assert.assertNotNull(infos.getCreationDate());
Assert.assertNotNull(infos.getLastModified());
Assert.assertNotNull(infos.getInitialLaunch());
Assert.assertNotNull(infos.getRecentLaunch());
Assert.assertEquals(1, infos.getVisit());
Assert.assertEquals(binder, infos.getBinder());
Assert.assertEquals(identity, infos.getIdentity());
}
use of org.olat.modules.portfolio.model.BinderImpl in project openolat by klemens.
the class PortfolioServiceImpl method getRepositoryEntry.
@Override
public RepositoryEntry getRepositoryEntry(Binder binder) {
OLATResource resource = ((BinderImpl) binder).getOlatResource();
Long resourceKey = resource.getKey();
return repositoryService.loadByResourceKey(resourceKey);
}
use of org.olat.modules.portfolio.model.BinderImpl in project openolat by klemens.
the class BinderDAO method deleteBinder.
public int deleteBinder(BinderRef binderRef) {
int rows = userInformationsDAO.deleteBinderUserInfos(binderRef);
BinderImpl binder = (BinderImpl) loadByKey(binderRef.getKey());
List<Section> sections = new ArrayList<>(binder.getSections());
for (Section section : sections) {
List<Page> pages = new ArrayList<>(section.getPages());
section.getPages().clear();
section = dbInstance.getCurrentEntityManager().merge(section);
for (Page page : pages) {
if (page != null) {
rows += pageDao.deletePage(page);
rows += pageUserInfosDao.delete(page);
}
}
rows += assessmentSectionDao.deleteAssessmentSections(section);
Group baseGroup = section.getBaseGroup();
rows += groupDao.removeMemberships(baseGroup);
dbInstance.getCurrentEntityManager().remove(section);
dbInstance.getCurrentEntityManager().remove(baseGroup);
rows += 2;
}
binder.getSections().clear();
Group baseGroup = binder.getBaseGroup();
rows += groupDao.removeMemberships(baseGroup);
dbInstance.getCurrentEntityManager().remove(binder);
dbInstance.getCurrentEntityManager().remove(baseGroup);
return rows + 2;
}
Aggregations