Search in sources :

Example 21 with RepositoryEntryLifecycle

use of org.olat.repository.model.RepositoryEntryLifecycle in project openolat by klemens.

the class ReminderRuleEngineTest method afterEndDate.

@Test
public void afterEndDate() {
    // create a course with 3 members
    Identity id1 = JunitTestHelper.createAndPersistIdentityAsRndUser("after-end-1");
    Identity id2 = JunitTestHelper.createAndPersistIdentityAsRndUser("after-end-2");
    Identity id3 = JunitTestHelper.createAndPersistIdentityAsRndUser("after-end-3");
    ICourse course = CoursesWebService.createEmptyCourse(null, "initial-launch-dates", "course long name", null);
    RepositoryEntry re = course.getCourseEnvironment().getCourseGroupManager().getCourseEntry();
    Calendar cal = Calendar.getInstance();
    // now
    cal.setTime(new Date());
    cal.add(Calendar.DATE, -25);
    Date validFrom = cal.getTime();
    // - 3weeks
    cal.add(Calendar.DATE, 4);
    Date validTo = cal.getTime();
    RepositoryEntryLifecycle cycle = lifecycleDao.create("Cycle 2", "Cycle soft 2", false, validFrom, validTo);
    re = repositoryManager.setDescriptionAndName(re, null, null, null, null, null, null, null, cycle);
    repositoryEntryRelationDao.addRole(id1, re, GroupRoles.owner.name());
    repositoryEntryRelationDao.addRole(id2, re, GroupRoles.coach.name());
    repositoryEntryRelationDao.addRole(id3, re, GroupRoles.participant.name());
    dbInstance.commit();
    {
        // check after 2 days
        List<ReminderRule> rules = getRepositoryEntryLifecycleRuleValidToRule(2, LaunchUnit.day);
        boolean match = ruleEngine.evaluateRepositoryEntryRule(re, rules);
        Assert.assertTrue(match);
    }
    {
        // check after 7 days (between begin and and date)
        List<ReminderRule> rules = getRepositoryEntryLifecycleRuleValidToRule(7, LaunchUnit.day);
        boolean match = ruleEngine.evaluateRepositoryEntryRule(re, rules);
        Assert.assertTrue(match);
    }
    {
        // check after 2 week s
        List<ReminderRule> rules = getRepositoryEntryLifecycleRuleValidToRule(1, LaunchUnit.week);
        boolean match = ruleEngine.evaluateRepositoryEntryRule(re, rules);
        Assert.assertTrue(match);
    }
    {
        // check after 21 days
        List<ReminderRule> rules = getRepositoryEntryLifecycleRuleValidToRule(21, LaunchUnit.day);
        boolean match = ruleEngine.evaluateRepositoryEntryRule(re, rules);
        Assert.assertTrue(match);
    }
    {
        // check after 3 weeks
        List<ReminderRule> rules = getRepositoryEntryLifecycleRuleValidToRule(3, LaunchUnit.week);
        boolean match = ruleEngine.evaluateRepositoryEntryRule(re, rules);
        Assert.assertTrue(match);
    }
    {
        // check after 22 days
        List<ReminderRule> rules = getRepositoryEntryLifecycleRuleValidToRule(22, LaunchUnit.day);
        boolean match = ruleEngine.evaluateRepositoryEntryRule(re, rules);
        Assert.assertFalse(match);
    }
    {
        // check after 4 weeks
        List<ReminderRule> rules = getRepositoryEntryLifecycleRuleValidToRule(4, LaunchUnit.week);
        boolean match = ruleEngine.evaluateRepositoryEntryRule(re, rules);
        Assert.assertFalse(match);
    }
    {
        // check after 1 month
        List<ReminderRule> rules = getRepositoryEntryLifecycleRuleValidToRule(1, LaunchUnit.month);
        boolean match = ruleEngine.evaluateRepositoryEntryRule(re, rules);
        Assert.assertFalse(match);
    }
}
Also used : RepositoryEntryLifecycle(org.olat.repository.model.RepositoryEntryLifecycle) Calendar(java.util.Calendar) ICourse(org.olat.course.ICourse) List(java.util.List) ArrayList(java.util.ArrayList) RepositoryEntry(org.olat.repository.RepositoryEntry) Identity(org.olat.core.id.Identity) Date(java.util.Date) Test(org.junit.Test)

Example 22 with RepositoryEntryLifecycle

use of org.olat.repository.model.RepositoryEntryLifecycle in project openolat by klemens.

the class RepositoryEntryLifecycleDAOTest method getLifeCycle.

@Test
public void getLifeCycle() {
    String label = "My second life cycle";
    String softKey = UUID.randomUUID().toString();
    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    cal.add(Calendar.DATE, -1);
    Date from = cal.getTime();
    cal.add(Calendar.DATE, +2);
    Date to = cal.getTime();
    RepositoryEntryLifecycle relf = reLifeCycleDao.create(label, softKey, true, from, to);
    dbInstance.commitAndCloseSession();
    Assert.assertNotNull(relf);
    Assert.assertNotNull(relf.getKey());
    // check
    RepositoryEntryLifecycle loadedLifeCycle = reLifeCycleDao.loadById(relf.getKey());
    Assert.assertNotNull(loadedLifeCycle);
    Assert.assertNotNull(loadedLifeCycle.getCreationDate());
    Assert.assertNotNull(loadedLifeCycle.getLastModified());
    Assert.assertEquals(relf.getKey(), loadedLifeCycle.getKey());
    Assert.assertEquals("My second life cycle", loadedLifeCycle.getLabel());
    Assert.assertEquals(softKey, loadedLifeCycle.getSoftKey());
    Assert.assertTrue(loadedLifeCycle.isPrivateCycle());
    Assert.assertNotNull(loadedLifeCycle.getValidFrom());
    Assert.assertNotNull(loadedLifeCycle.getValidTo());
}
Also used : RepositoryEntryLifecycle(org.olat.repository.model.RepositoryEntryLifecycle) Calendar(java.util.Calendar) Date(java.util.Date) Test(org.junit.Test)

Example 23 with RepositoryEntryLifecycle

use of org.olat.repository.model.RepositoryEntryLifecycle in project openolat by klemens.

the class RepositoryEntryLifecycleTest method testGetEntries.

@Test
public void testGetEntries() throws IOException, URISyntaxException {
    // create a public life cycle
    RepositoryEntryLifecycle reLifeCycle = reLifeCycleDao.create("REST life cycle", "Unique", false, null, null);
    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    cal.add(Calendar.DATE, -2);
    Date from = cal.getTime();
    cal.add(Calendar.DATE, 5);
    Date to = cal.getTime();
    RepositoryEntryLifecycle limitLifeCycle = reLifeCycleDao.create("REST life cycle", "Unique", false, from, to);
    dbInstance.commitAndCloseSession();
    // retrieve the public life cycles
    RestConnection conn = new RestConnection();
    assertTrue(conn.login("administrator", "openolat"));
    URI request = UriBuilder.fromUri(getContextURI()).path("repo/lifecycle").build();
    HttpGet method = conn.createGet(request, MediaType.APPLICATION_JSON, true);
    HttpResponse response = conn.execute(method);
    assertEquals(200, response.getStatusLine().getStatusCode());
    InputStream body = response.getEntity().getContent();
    List<RepositoryEntryLifecycleVO> entryVoes = parseRepoArray(body);
    assertNotNull(entryVoes);
    int found = 0;
    for (RepositoryEntryLifecycleVO entryVo : entryVoes) {
        if (reLifeCycle.getKey().equals(entryVo.getKey())) {
            found++;
        } else if (limitLifeCycle.getKey().equals(entryVo.getKey())) {
            found++;
        }
    }
    conn.shutdown();
    Assert.assertEquals(2, found);
}
Also used : RepositoryEntryLifecycle(org.olat.repository.model.RepositoryEntryLifecycle) InputStream(java.io.InputStream) Calendar(java.util.Calendar) HttpGet(org.apache.http.client.methods.HttpGet) HttpResponse(org.apache.http.HttpResponse) RepositoryEntryLifecycleVO(org.olat.restapi.support.vo.RepositoryEntryLifecycleVO) URI(java.net.URI) Date(java.util.Date) Test(org.junit.Test)

Example 24 with RepositoryEntryLifecycle

use of org.olat.repository.model.RepositoryEntryLifecycle in project openolat by klemens.

the class RepositoryManager method setDescriptionAndName.

/**
 * The method updates empty and null values!
 * @param re
 * @param displayName
 * @param externalRef
 * @param authors
 * @param description
 * @param objectives
 * @param requirements
 * @param credits
 * @param mainLanguage
 * @param expenditureOfWork
 * @param cycle
 * @return
 */
public RepositoryEntry setDescriptionAndName(final RepositoryEntry re, String displayName, String externalRef, String authors, String description, String objectives, String requirements, String credits, String mainLanguage, String location, String expenditureOfWork, RepositoryEntryLifecycle cycle) {
    RepositoryEntry reloadedRe = repositoryEntryDao.loadForUpdate(re);
    if (reloadedRe == null) {
        return null;
    }
    reloadedRe.setDisplayname(displayName);
    reloadedRe.setAuthors(authors);
    reloadedRe.setDescription(description);
    reloadedRe.setExternalRef(externalRef);
    reloadedRe.setObjectives(objectives);
    reloadedRe.setRequirements(requirements);
    reloadedRe.setCredits(credits);
    reloadedRe.setMainLanguage(mainLanguage);
    reloadedRe.setExpenditureOfWork(expenditureOfWork);
    reloadedRe.setLocation(location);
    RepositoryEntryLifecycle cycleToDelete = null;
    RepositoryEntryLifecycle currentCycle = reloadedRe.getLifecycle();
    if (currentCycle != null) {
        // currently, it's a private cycle
        if (currentCycle.isPrivateCycle()) {
            // the new one is none or public, remove the private cycle
            if (cycle == null || !cycle.isPrivateCycle()) {
                cycleToDelete = currentCycle;
            }
        }
    }
    reloadedRe.setLifecycle(cycle);
    reloadedRe.setLastModified(new Date());
    RepositoryEntry updatedRe = dbInstance.getCurrentEntityManager().merge(reloadedRe);
    if (cycleToDelete != null) {
        dbInstance.getCurrentEntityManager().remove(cycleToDelete);
    }
    // fetch the values
    updatedRe.getStatistics().getLaunchCounter();
    if (updatedRe.getLifecycle() != null) {
        updatedRe.getLifecycle().getCreationDate();
    }
    dbInstance.commit();
    lifeIndexer.indexDocument(RepositoryEntryDocument.TYPE, updatedRe.getKey());
    autoAccessManager.grantAccess(updatedRe);
    return updatedRe;
}
Also used : RepositoryEntryLifecycle(org.olat.repository.model.RepositoryEntryLifecycle) Date(java.util.Date)

Example 25 with RepositoryEntryLifecycle

use of org.olat.repository.model.RepositoryEntryLifecycle in project openolat by klemens.

the class RepositoryEditDescriptionController method initForm.

@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
    setFormContextHelp("Info Page: Add Meta Data");
    formLayout.setElementCssClass("o_sel_edit_repositoryentry");
    String id = repositoryEntry.getResourceableId() == null ? "-" : repositoryEntry.getResourceableId().toString();
    uifactory.addStaticTextElement("cif.id", id, formLayout);
    String externalId = repositoryEntry.getExternalId();
    if (StringHelper.containsNonWhitespace(externalId)) {
        uifactory.addStaticTextElement("cif.externalid", externalId, formLayout);
    }
    String extRef = repositoryEntry.getExternalRef();
    if (StringHelper.containsNonWhitespace(repositoryEntry.getManagedFlagsString())) {
        if (StringHelper.containsNonWhitespace(extRef)) {
            uifactory.addStaticTextElement("cif.externalref", extRef, formLayout);
        }
    } else {
        externalRef = uifactory.addTextElement("cif.externalref", "cif.externalref", 100, extRef, formLayout);
        externalRef.setHelpText(translate("cif.externalref.hover"));
        externalRef.setHelpUrlForManualPage("Info Page#_identification");
        externalRef.setDisplaySize(30);
    }
    String initalAuthor = repositoryEntry.getInitialAuthor() == null ? "-" : repositoryEntry.getInitialAuthor();
    if (repositoryEntry.getInitialAuthor() != null) {
        initalAuthor = userManager.getUserDisplayName(initalAuthor);
    }
    initalAuthor = StringHelper.escapeHtml(initalAuthor);
    uifactory.addStaticTextElement("cif.initialAuthor", initalAuthor, formLayout);
    // Add resource type
    String typeName = null;
    OLATResource res = repositoryEntry.getOlatResource();
    if (res != null) {
        typeName = res.getResourceableTypeName();
    }
    String typeDisplay;
    if (typeName != null) {
        // add image and typename code
        typeDisplay = NewControllerFactory.translateResourceableTypeName(typeName, getLocale());
    } else {
        typeDisplay = translate("cif.type.na");
    }
    uifactory.addStaticTextElement("cif.type", typeDisplay, formLayout);
    uifactory.addSpacerElement("spacer1", formLayout, false);
    displayName = uifactory.addTextElement("cif.displayname", "cif.displayname", 100, repositoryEntry.getDisplayname(), formLayout);
    displayName.setDisplaySize(30);
    displayName.setMandatory(true);
    displayName.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.title));
    authors = uifactory.addTextElement("cif.authors", "cif.authors", 255, repositoryEntry.getAuthors(), formLayout);
    authors.setDisplaySize(60);
    if (licenseModule.isEnabled(licenseHandler)) {
        license = licenseService.loadOrCreateLicense(res);
        LicenseSelectionConfig licenseSelectionConfig = LicenseUIFactory.createLicenseSelectionConfig(licenseHandler, license.getLicenseType());
        licenseEl = uifactory.addDropdownSingleselect("cif.license", formLayout, licenseSelectionConfig.getLicenseTypeKeys(), licenseSelectionConfig.getLicenseTypeValues(getLocale()));
        licenseEl.setElementCssClass("o_sel_repo_license");
        licenseEl.setMandatory(licenseSelectionConfig.isLicenseMandatory());
        if (licenseSelectionConfig.getSelectionLicenseTypeKey() != null) {
            licenseEl.select(licenseSelectionConfig.getSelectionLicenseTypeKey(), true);
        }
        licenseEl.addActionListener(FormEvent.ONCHANGE);
        licensorEl = uifactory.addTextElement("cif.licensor", 1000, license.getLicensor(), formLayout);
        String freetext = licenseService.isFreetext(license.getLicenseType()) ? license.getFreetext() : "";
        licenseFreetextEl = uifactory.addTextAreaElement("cif.freetext", 4, 72, freetext, formLayout);
        LicenseUIFactory.updateVisibility(licenseEl, licensorEl, licenseFreetextEl);
    }
    language = uifactory.addTextElement("cif.mainLanguage", "cif.mainLanguage", 16, repositoryEntry.getMainLanguage(), formLayout);
    location = uifactory.addTextElement("cif.location", "cif.location", 255, repositoryEntry.getLocation(), formLayout);
    location.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.location));
    RepositoryHandler handler = repositoryHandlerFactory.getRepositoryHandler(repositoryEntry);
    mediaContainer = handler.getMediaContainer(repositoryEntry);
    if (mediaContainer != null && mediaContainer.getName().equals("media")) {
        mediaContainer = mediaContainer.getParentContainer();
        mediaContainer.setDefaultItemFilter(new MediaContainerFilter(mediaContainer));
    }
    String desc = (repositoryEntry.getDescription() != null ? repositoryEntry.getDescription() : " ");
    description = uifactory.addRichTextElementForStringData("cif.description", "cif.description", desc, 10, -1, false, mediaContainer, null, formLayout, ureq.getUserSession(), getWindowControl());
    description.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.description));
    description.getEditorConfiguration().setFileBrowserUploadRelPath("media");
    uifactory.addSpacerElement("spacer2", formLayout, false);
    if (CourseModule.getCourseTypeName().equals(repoEntryType)) {
        String[] dateValues = new String[] { translate("cif.dates.none"), translate("cif.dates.private"), translate("cif.dates.public") };
        dateTypesEl = uifactory.addRadiosVertical("cif.dates", formLayout, dateKeys, dateValues);
        dateTypesEl.setElementCssClass("o_sel_repo_lifecycle_type");
        if (repositoryEntry.getLifecycle() == null) {
            dateTypesEl.select("none", true);
        } else if (repositoryEntry.getLifecycle().isPrivateCycle()) {
            dateTypesEl.select("private", true);
        } else {
            dateTypesEl.select("public", true);
        }
        dateTypesEl.addActionListener(FormEvent.ONCHANGE);
        List<RepositoryEntryLifecycle> cycles = lifecycleDao.loadPublicLifecycle();
        List<RepositoryEntryLifecycle> filteredCycles = new ArrayList<>();
        // just make the upcomming and acutual running cycles or the pre-selected visible in the UI
        LocalDateTime now = LocalDateTime.now();
        for (RepositoryEntryLifecycle cycle : cycles) {
            if (cycle.getValidTo() == null || now.isBefore(LocalDateTime.ofInstant(cycle.getValidTo().toInstant(), ZoneId.systemDefault())) || (repositoryEntry.getLifecycle() != null && repositoryEntry.getLifecycle().equals(cycle))) {
                filteredCycles.add(cycle);
            }
        }
        String[] publicKeys = new String[filteredCycles.size()];
        String[] publicValues = new String[filteredCycles.size()];
        int count = 0;
        for (RepositoryEntryLifecycle cycle : filteredCycles) {
            publicKeys[count] = cycle.getKey().toString();
            StringBuilder sb = new StringBuilder(32);
            boolean labelAvailable = StringHelper.containsNonWhitespace(cycle.getLabel());
            if (labelAvailable) {
                sb.append(cycle.getLabel());
            }
            if (StringHelper.containsNonWhitespace(cycle.getSoftKey())) {
                if (labelAvailable)
                    sb.append(" - ");
                sb.append(cycle.getSoftKey());
            }
            publicValues[count++] = sb.toString();
        }
        publicDatesEl = uifactory.addDropdownSingleselect("cif.public.dates", formLayout, publicKeys, publicValues, null);
        String privateDatePage = velocity_root + "/cycle_dates.html";
        privateDatesCont = FormLayoutContainer.createCustomFormLayout("private.date", getTranslator(), privateDatePage);
        privateDatesCont.setRootForm(mainForm);
        privateDatesCont.setLabel("cif.private.dates", null);
        formLayout.add("private.date", privateDatesCont);
        startDateEl = uifactory.addDateChooser("date.start", "cif.date.start", null, privateDatesCont);
        startDateEl.setElementCssClass("o_sel_repo_lifecycle_validfrom");
        endDateEl = uifactory.addDateChooser("date.end", "cif.date.end", null, privateDatesCont);
        endDateEl.setElementCssClass("o_sel_repo_lifecycle_validto");
        if (repositoryEntry.getLifecycle() != null) {
            RepositoryEntryLifecycle lifecycle = repositoryEntry.getLifecycle();
            if (lifecycle.isPrivateCycle()) {
                startDateEl.setDate(lifecycle.getValidFrom());
                endDateEl.setDate(lifecycle.getValidTo());
            } else {
                String key = lifecycle.getKey().toString();
                for (String publicKey : publicKeys) {
                    if (key.equals(publicKey)) {
                        publicDatesEl.select(key, true);
                        break;
                    }
                }
            }
        }
        updateDatesVisibility();
        uifactory.addSpacerElement("spacer3", formLayout, false);
        expenditureOfWork = uifactory.addTextElement("cif.expenditureOfWork", "cif.expenditureOfWork", 100, repositoryEntry.getExpenditureOfWork(), formLayout);
        expenditureOfWork.setExampleKey("details.expenditureOfWork.example", null);
        String obj = (repositoryEntry.getObjectives() != null ? repositoryEntry.getObjectives() : " ");
        objectives = uifactory.addRichTextElementForStringData("cif.objectives", "cif.objectives", obj, 10, -1, false, mediaContainer, null, formLayout, ureq.getUserSession(), getWindowControl());
        objectives.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.objectives));
        objectives.getEditorConfiguration().setFileBrowserUploadRelPath("media");
        String req = (repositoryEntry.getRequirements() != null ? repositoryEntry.getRequirements() : " ");
        requirements = uifactory.addRichTextElementForStringData("cif.requirements", "cif.requirements", req, 10, -1, false, mediaContainer, null, formLayout, ureq.getUserSession(), getWindowControl());
        requirements.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.requirements));
        requirements.getEditorConfiguration().setFileBrowserUploadRelPath("media");
        requirements.setMaxLength(2000);
        String cred = (repositoryEntry.getCredits() != null ? repositoryEntry.getCredits() : " ");
        credits = uifactory.addRichTextElementForStringData("cif.credits", "cif.credits", cred, 10, -1, false, mediaContainer, null, formLayout, ureq.getUserSession(), getWindowControl());
        credits.setEnabled(!RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.credits));
        credits.getEditorConfiguration().setFileBrowserUploadRelPath("media");
        credits.setMaxLength(2000);
        uifactory.addSpacerElement("spacer4", formLayout, false);
    }
    boolean managed = RepositoryEntryManagedFlag.isManaged(repositoryEntry, RepositoryEntryManagedFlag.details);
    VFSLeaf img = repositoryManager.getImage(repositoryEntry);
    fileUpload = uifactory.addFileElement(getWindowControl(), "rentry.pic", "rentry.pic", formLayout);
    fileUpload.setExampleKey("rentry.pic.example", new String[] { RepositoryManager.PICTURE_WIDTH + "x" + (RepositoryManager.PICTURE_HEIGHT) });
    fileUpload.setMaxUploadSizeKB(picUploadlimitKB, null, null);
    fileUpload.setPreview(ureq.getUserSession(), true);
    fileUpload.addActionListener(FormEvent.ONCHANGE);
    fileUpload.setDeleteEnabled(!managed);
    if (img instanceof LocalFileImpl) {
        fileUpload.setPreview(ureq.getUserSession(), true);
        fileUpload.setInitialFile(((LocalFileImpl) img).getBasefile());
    }
    fileUpload.setVisible(!managed);
    fileUpload.limitToMimeType(imageMimeTypes, "cif.error.mimetype", new String[] { imageMimeTypes.toString() });
    VFSLeaf movie = repositoryService.getIntroductionMovie(repositoryEntry);
    movieUpload = uifactory.addFileElement(getWindowControl(), "rentry.movie", "rentry.movie", formLayout);
    movieUpload.setExampleKey("rentry.movie.example", new String[] { "3:2" });
    movieUpload.setMaxUploadSizeKB(movieUploadlimitKB, null, null);
    movieUpload.setPreview(ureq.getUserSession(), true);
    movieUpload.addActionListener(FormEvent.ONCHANGE);
    movieUpload.setDeleteEnabled(!managed);
    if (movie instanceof LocalFileImpl) {
        movieUpload.setPreview(ureq.getUserSession(), true);
        movieUpload.setInitialFile(((LocalFileImpl) movie).getBasefile());
    }
    movieUpload.setVisible(!managed);
    FormLayoutContainer buttonContainer = FormLayoutContainer.createButtonLayout("buttonContainer", getTranslator());
    formLayout.add("buttonContainer", buttonContainer);
    buttonContainer.setElementCssClass("o_sel_repo_save_details");
    submit = uifactory.addFormSubmitButton("submit", buttonContainer);
    submit.setVisible(!managed);
    uifactory.addFormCancelButton("cancel", buttonContainer, ureq, getWindowControl());
}
Also used : LocalDateTime(java.time.LocalDateTime) VFSLeaf(org.olat.core.util.vfs.VFSLeaf) LicenseSelectionConfig(org.olat.core.commons.services.license.ui.LicenseSelectionConfig) ArrayList(java.util.ArrayList) OLATResource(org.olat.resource.OLATResource) LocalFileImpl(org.olat.core.util.vfs.LocalFileImpl) FormLayoutContainer(org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer) RepositoryEntryLifecycle(org.olat.repository.model.RepositoryEntryLifecycle) RepositoryHandler(org.olat.repository.handlers.RepositoryHandler)

Aggregations

RepositoryEntryLifecycle (org.olat.repository.model.RepositoryEntryLifecycle)54 Date (java.util.Date)34 Test (org.junit.Test)22 Calendar (java.util.Calendar)18 ArrayList (java.util.ArrayList)12 RepositoryEntry (org.olat.repository.RepositoryEntry)12 List (java.util.List)6 Identity (org.olat.core.id.Identity)6 RepositoryEntryLifecycleVO (org.olat.restapi.support.vo.RepositoryEntryLifecycleVO)6 Produces (javax.ws.rs.Produces)4 FormLayoutContainer (org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer)4 VFSContainer (org.olat.core.util.vfs.VFSContainer)4 ICourse (org.olat.course.ICourse)4 CourseEditorEnv (org.olat.course.editor.CourseEditorEnv)4 RepositoryEntryLifecycleDAO (org.olat.repository.manager.RepositoryEntryLifecycleDAO)4 LocalFileImpl (org.olat.core.util.vfs.LocalFileImpl)3 VFSLeaf (org.olat.core.util.vfs.VFSLeaf)3 File (java.io.File)2 IOException (java.io.IOException)2 InputStream (java.io.InputStream)2