use of org.olat.modules.portfolio.Media in project openolat by klemens.
the class MediaCenterController method doOpenMedia.
private Activateable2 doOpenMedia(UserRequest ureq, Long mediaKey) {
stackPanel.popUpToController(this);
OLATResourceable bindersOres = OresHelper.createOLATResourceableInstance("Media", mediaKey);
WindowControl swControl = addToHistory(ureq, bindersOres, null);
Media media = portfolioService.getMediaByKey(mediaKey);
detailsCtrl = new MediaDetailsController(ureq, swControl, stackPanel, media);
listenTo(detailsCtrl);
stackPanel.pushController(media.getTitle(), detailsCtrl);
return detailsCtrl;
}
use of org.olat.modules.portfolio.Media in project openolat by klemens.
the class MediaCenterController method loadModel.
private void loadModel() {
String searchString = tableEl.getQuickSearchString();
List<String> tagNames = getSelectedTagNames();
Map<Long, MediaRow> currentMap = model.getObjects().stream().collect(Collectors.toMap(r -> r.getKey(), r -> r));
List<MediaLight> medias = portfolioService.searchOwnedMedias(getIdentity(), searchString, tagNames);
List<MediaRow> rows = new ArrayList<>(medias.size());
for (MediaLight media : medias) {
if (currentMap.containsKey(media.getKey())) {
rows.add(currentMap.get(media.getKey()));
} else {
MediaHandler handler = portfolioService.getMediaHandler(media.getType());
VFSLeaf thumbnail = handler.getThumbnail(media, THUMBNAIL_SIZE);
String mediaTitle = StringHelper.escapeHtml(media.getTitle());
FormLink openLink = uifactory.addFormLink("select_" + (++counter), "select", mediaTitle, null, flc, Link.NONTRANSLATED);
MediaRow row = new MediaRow(media, thumbnail, openLink, handler.getIconCssClass(media));
openLink.setUserObject(row);
rows.add(row);
}
}
model.setObjects(rows);
model.filter(tableEl.getSelectedFilters());
Map<Long, MediaRow> rowMap = model.getObjects().stream().collect(Collectors.toMap(r -> r.getKey(), r -> r));
Set<String> duplicateCategories = new HashSet<>();
List<CategoryLight> categories = portfolioService.getMediaCategories(getIdentity());
List<FormLink> newTagLinks = new ArrayList<>(categories.size());
for (CategoryLight category : categories) {
String name = category.getCategory();
MediaRow mRow = rowMap.get(category.getMediaKey());
if (mRow != null) {
mRow.addCategory(name);
}
if (duplicateCategories.contains(name)) {
continue;
}
duplicateCategories.add(name);
FormLink tagLink = uifactory.addFormLink("tag_" + (++counter), "tag", name, null, null, Link.NONTRANSLATED);
CategoryState state = new CategoryState(category, tagNames.contains(name));
tagLink.setUserObject(state);
if (state.isSelected()) {
tagLink.setCustomEnabledLinkCSS("tag label label-info o_disabled");
} else {
tagLink.setCustomEnabledLinkCSS("tag label label-info");
}
flc.add(tagLink);
newTagLinks.add(tagLink);
}
flc.contextPut("tagLinks", newTagLinks);
tagLinks = newTagLinks;
}
use of org.olat.modules.portfolio.Media in project openolat by klemens.
the class WikiMediaHandler method createMedia.
@Override
public Media createMedia(String title, String description, Object mediaObject, String businessPath, Identity author) {
String content = null;
if (mediaObject instanceof WikiPage) {
WikiPage page = (WikiPage) mediaObject;
content = page.getContent();
}
Media media = mediaDao.createMedia(title, description, content, WIKI_HANDLER, businessPath, null, 70, author);
ThreadLocalUserActivityLogger.log(PortfolioLoggingAction.PORTFOLIO_MEDIA_ADDED, getClass(), LoggingResourceable.wrap(media));
return media;
}
use of org.olat.modules.portfolio.Media in project openolat by klemens.
the class ImageMediaEditorController method initForm.
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
Media media = mediaPart.getMedia();
File mediaDir = new File(FolderConfig.getCanonicalRoot(), media.getStoragePath());
File mediaFile = new File(mediaDir, media.getRootFilename());
ImageFormItem imageEl = new ImageFormItem(ureq.getUserSession(), "image");
imageEl.setMedia(mediaFile);
formLayout.add("image", imageEl);
alignmentEl = uifactory.addDropdownSingleselect("alignment", null, formLayout, alignmentKeys, alignmentKeys, null);
alignmentEl.addActionListener(FormEvent.ONCHANGE);
if (StringHelper.containsNonWhitespace(mediaPart.getLayoutOptions())) {
for (String alignmentKey : alignmentKeys) {
if (mediaPart.getLayoutOptions().contains(alignmentKey)) {
alignmentEl.select(alignmentKey, true);
}
}
}
}
use of org.olat.modules.portfolio.Media in project openolat by klemens.
the class BlogEntryMediaHandler method createMedia.
@Override
public Media createMedia(String title, String description, Object mediaObject, String businessPath, Identity author) {
BlogEntryMedia entry = (BlogEntryMedia) mediaObject;
Item item = entry.getItem();
Media media = mediaDao.createMedia(title, description, "", BLOG_ENTRY_HANDLER, businessPath, null, 70, author);
File mediaDir = fileStorage.generateMediaSubDirectory(media);
String storagePath = fileStorage.getRelativePath(mediaDir);
media = mediaDao.updateStoragePath(media, storagePath, BlogArtefact.BLOG_FILE_NAME);
VFSContainer mediaContainer = fileStorage.getMediaContainer(media);
VFSContainer itemContainer = feedManager.getItemContainer(item);
FeedManager.getInstance().saveItemAsXML(item);
VFSManager.copyContent(itemContainer, mediaContainer);
FeedManager.getInstance().deleteItemXML(item);
return media;
}
Aggregations