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;
}
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;
}
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());
}
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;
}
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;
}
Aggregations