Search in sources :

Example 21 with License

use of org.olat.core.commons.services.license.License in project OpenOLAT by OpenOLAT.

the class LicenseServiceImpl method createLicense.

@Override
public License createLicense(LicenseType licenseType) {
    License license = new LicenseImpl();
    license.setLicenseType(licenseType);
    return license;
}
Also used : License(org.olat.core.commons.services.license.License) ResourceLicense(org.olat.core.commons.services.license.ResourceLicense) LicenseImpl(org.olat.core.commons.services.license.model.LicenseImpl)

Example 22 with License

use of org.olat.core.commons.services.license.License in project OpenOLAT by OpenOLAT.

the class LicenseServiceImpl method createDefaultLicense.

@Override
public License createDefaultLicense(LicenseHandler handler, Identity licensor) {
    LicenseType defautlLicenseType = getDefaultLicenseType(handler);
    String licensorName = licensorFactory.create(handler, licensor);
    License license = new LicenseImpl();
    license.setLicenseType(defautlLicenseType);
    license.setLicensor(licensorName);
    return license;
}
Also used : License(org.olat.core.commons.services.license.License) ResourceLicense(org.olat.core.commons.services.license.ResourceLicense) LicenseType(org.olat.core.commons.services.license.LicenseType) LicenseImpl(org.olat.core.commons.services.license.model.LicenseImpl)

Example 23 with License

use of org.olat.core.commons.services.license.License in project OpenOLAT by OpenOLAT.

the class MetaInfoController method initForm.

@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
    setFormTitle("mf.metadata.title");
    setFormContextHelp("Folders#_metadata");
    // filename
    uifactory.addStaticTextElement("mf.filename", item.getName(), formLayout);
    MetaInfo meta = item == null ? null : CoreSpringFactory.getImpl(MetaInfoFactory.class).createMetaInfoFor((OlatRelPathImpl) item);
    // title
    String titleVal = StringHelper.escapeHtml(meta != null ? meta.getTitle() : null);
    uifactory.addStaticTextElement("mf.title", titleVal, formLayout);
    // comment/description
    String commentVal = StringHelper.xssScan(meta != null ? meta.getComment() : null);
    uifactory.addStaticTextElement("mf.comment", commentVal, formLayout);
    // license
    if (licenseModule.isEnabled(licenseHandler)) {
        MetaInfoFactory metaInfoFactory = CoreSpringFactory.getImpl(MetaInfoFactory.class);
        License license = metaInfoFactory.getOrCreateLicense(meta, getIdentity());
        boolean isNoLicense = !licenseService.isNoLicense(license.getLicenseType());
        boolean isFreetext = licenseService.isFreetext(license.getLicenseType());
        licenseEl = uifactory.addStaticTextElement("mf.license", LicenseUIFactory.translate(license.getLicenseType(), getLocale()), formLayout);
        if (isNoLicense) {
            licensorEl = uifactory.addStaticTextElement("mf.licensor", license.getLicensor(), formLayout);
        }
        if (isFreetext) {
            licenseFreetextEl = uifactory.addStaticTextElement("mf.freetext", LicenseUIFactory.getFormattedLicenseText(license), formLayout);
        }
        ;
        // creator
        String creatorVal = StringHelper.escapeHtml(meta != null ? meta.getCreator() : null);
        creator = uifactory.addStaticTextElement("mf.creator", creatorVal, formLayout);
        // publisher
        String publisherVal = StringHelper.escapeHtml(meta != null ? meta.getPublisher() : null);
        publisher = uifactory.addStaticTextElement("mf.publisher", publisherVal, formLayout);
        // source/origin
        String sourceVal = StringHelper.escapeHtml(meta != null ? meta.getSource() : null);
        sourceEl = uifactory.addStaticTextElement("mf.source", sourceVal, formLayout);
        // city
        String cityVal = StringHelper.escapeHtml(meta != null ? meta.getCity() : null);
        city = uifactory.addStaticTextElement("mf.city", cityVal, formLayout);
        String[] pubDate = (meta != null ? meta.getPublicationDate() : new String[] { "", "" });
        String publicationDate = new StringBuilder().append(translate("mf.month")).append(pubDate[0]).append(", ").append(translate("mf.year")).append(pubDate[1]).toString();
        publicationDateEl = uifactory.addStaticTextElement("mf.publishDate", publicationDate, formLayout);
        // number of pages
        String pageVal = StringHelper.escapeHtml(meta != null ? meta.getPages() : null);
        pages = uifactory.addStaticTextElement("mf.pages", pageVal, formLayout);
        // language
        String langVal = StringHelper.escapeHtml(meta != null ? meta.getLanguage() : null);
        language = uifactory.addStaticTextElement("mf.language", langVal, formLayout);
        // url/link
        String urlVal = StringHelper.escapeHtml(meta != null ? meta.getUrl() : null);
        url = uifactory.addStaticTextElement("mf.url", urlVal, formLayout);
    }
    /* static fields */
    String sizeText, typeText;
    if (item instanceof VFSLeaf) {
        sizeText = Formatter.formatBytes(((VFSLeaf) item).getSize());
        typeText = FolderHelper.extractFileType(item.getName(), getLocale());
    } else {
        sizeText = "-";
        typeText = translate("mf.type.directory");
    }
    // Targets to hide
    metaFields = new HashSet<>();
    metaFields.add(creator);
    metaFields.add(publisher);
    metaFields.add(sourceEl);
    metaFields.add(city);
    metaFields.add(publicationDateEl);
    metaFields.add(pages);
    metaFields.add(language);
    metaFields.add(url);
    if (licenseEl != null) {
        metaFields.add(licenseEl);
    }
    if (licensorEl != null) {
        metaFields.add(licensorEl);
    }
    if (licenseFreetextEl != null) {
        metaFields.add(licenseFreetextEl);
    }
    if (!hasMetadata(meta)) {
        moreMetaDataLink = uifactory.addFormLink("mf.more.meta.link", formLayout, Link.LINK_CUSTOM_CSS);
        setMetaFieldsVisible(false);
    }
    if (meta != null && !meta.isDirectory()) {
        LockInfo lock = vfsLockManager.getLock(item);
        // locked
        String lockedTitle = getTranslator().translate("mf.locked");
        String unlockedTitle = getTranslator().translate("mf.unlocked");
        locked = uifactory.addRadiosHorizontal("locked", "mf.locked", formLayout, new String[] { "lock", "unlock" }, new String[] { lockedTitle, unlockedTitle });
        if (vfsLockManager.isLocked(item)) {
            locked.select("lock", true);
        } else {
            locked.select("unlock", true);
        }
        locked.setEnabled(false);
        // locked by
        String lockedDetails = "";
        if (lock != null) {
            String user = userManager.getUserDisplayName(lock.getLockedBy());
            user = StringHelper.escapeHtml(user);
            String date = "";
            if (lock.getCreationDate() != null) {
                date = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, getLocale()).format(lock.getCreationDate());
            }
            lockedDetails = getTranslator().translate("mf.locked.description", new String[] { user, date });
            if (lock.isWebDAVLock()) {
                lockedDetails += " (WebDAV)";
            }
        } else {
            lockedDetails = getTranslator().translate("mf.unlocked.description");
        }
        uifactory.addStaticTextElement("mf.lockedBy", lockedDetails, formLayout);
        // username
        String author = StringHelper.escapeHtml(meta.getHTMLFormattedAuthor());
        uifactory.addStaticTextElement("mf.author", author, formLayout);
        // filesize
        uifactory.addStaticTextElement("mf.size", StringHelper.escapeHtml(sizeText), formLayout);
        // last modified date
        String lastModified = StringHelper.formatLocaleDate(meta.getLastModified(), getLocale());
        uifactory.addStaticTextElement("mf.lastModified", lastModified, formLayout);
        // file type
        uifactory.addStaticTextElement("mf.type", StringHelper.escapeHtml(typeText), formLayout);
        String downloads = String.valueOf(meta.getDownloadCount());
        uifactory.addStaticTextElement("mf.downloads", downloads, formLayout);
    } else {
        setMetaFieldsVisible(false);
        if (moreMetaDataLink != null) {
            moreMetaDataLink.setVisible(false);
        }
    }
    boolean xssErrors = false;
    if (item != null) {
        xssErrors = StringHelper.xssScanForErrors(item.getName());
    }
    if (StringHelper.containsNonWhitespace(resourceUrl) && !xssErrors) {
        String externalUrlPage = velocity_root + "/external_url.html";
        FormLayoutContainer extUrlCont = FormLayoutContainer.createCustomFormLayout("external.url", getTranslator(), externalUrlPage);
        extUrlCont.setLabel("external.url", null);
        extUrlCont.contextPut("resourceUrl", resourceUrl);
        extUrlCont.setRootForm(mainForm);
        formLayout.add(extUrlCont);
    }
    // cancel buttons
    final FormLayoutContainer buttonLayout = FormLayoutContainer.createButtonLayout("buttonLayout", getTranslator());
    formLayout.add(buttonLayout);
    uifactory.addFormCancelButton("cancel", buttonLayout, ureq, getWindowControl());
}
Also used : VFSLeaf(org.olat.core.util.vfs.VFSLeaf) OlatRelPathImpl(org.olat.core.util.vfs.OlatRelPathImpl) License(org.olat.core.commons.services.license.License) FormLayoutContainer(org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer) LockInfo(org.olat.core.util.vfs.lock.LockInfo)

Example 24 with License

use of org.olat.core.commons.services.license.License in project OpenOLAT by OpenOLAT.

the class MetaInfoFormController method getMetaInfo.

public MetaInfo getMetaInfo(MetaInfo meta) {
    meta.setCreator(creator.getValue());
    meta.setComment(comment.getValue());
    meta.setTitle(title.getValue());
    meta.setPublisher(publisher.getValue());
    meta.setPublicationDate(publicationMonth.getValue(), publicationYear.getValue());
    meta.setCity(city.getValue());
    meta.setLanguage(language.getValue());
    meta.setSource(sourceEl.getValue());
    meta.setUrl(url.getValue());
    meta.setPages(pages.getValue());
    License license = getLicenseFromFormItems();
    meta.setLicenseTypeKey(license.getLicenseType() != null ? String.valueOf(license.getLicenseType().getKey()) : "");
    meta.setLicenseTypeName(license.getLicenseType() != null ? license.getLicenseType().getName() : "");
    meta.setLicensor(license.getLicensor() != null ? license.getLicensor() : "");
    meta.setLicenseText(LicenseUIFactory.getLicenseText(license));
    return meta;
}
Also used : License(org.olat.core.commons.services.license.License)

Example 25 with License

use of org.olat.core.commons.services.license.License in project OpenOLAT by OpenOLAT.

the class QuestionItemAuditLogBuilderImpl method withAfter.

@Override
public QuestionItemAuditLogBuilder withAfter(QuestionItem item) {
    this.questionItemKey = item.getKey();
    this.after = qpoolService.toAuditXml(item);
    License license = licenseService.loadLicense(item);
    this.licenseAfter = licenseService.toXml(license);
    return this;
}
Also used : License(org.olat.core.commons.services.license.License)

Aggregations

License (org.olat.core.commons.services.license.License)38 LicenseType (org.olat.core.commons.services.license.LicenseType)12 VFSLeaf (org.olat.core.util.vfs.VFSLeaf)10 Test (org.junit.Test)8 Date (java.util.Date)6 LicenseService (org.olat.core.commons.services.license.LicenseService)6 ResourceLicense (org.olat.core.commons.services.license.ResourceLicense)6 LicenseImpl (org.olat.core.commons.services.license.model.LicenseImpl)6 FormLayoutContainer (org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer)6 LockInfo (org.olat.core.util.vfs.lock.LockInfo)6 File (java.io.File)4 FolderLicenseHandler (org.olat.core.commons.modules.bc.FolderLicenseHandler)4 MetaInfo (org.olat.core.commons.modules.bc.meta.MetaInfo)4 MetaTagged (org.olat.core.commons.modules.bc.meta.tagged.MetaTagged)4 OLATResourceable (org.olat.core.id.OLATResourceable)4 OlatRelPathImpl (org.olat.core.util.vfs.OlatRelPathImpl)4 VFSContainer (org.olat.core.util.vfs.VFSContainer)4 ArrayList (java.util.ArrayList)2 Map (java.util.Map)2 GroupRoles (org.olat.basesecurity.GroupRoles)2