use of org.olat.modules.portfolio.MediaHandler in project OpenOLAT by OpenOLAT.
the class MediaMetadataController method loadMetadata.
private void loadMetadata(VelocityContainer metaVC) {
metaVC.contextPut("media", media);
String author = userManager.getUserDisplayName(media.getAuthor());
metaVC.contextPut("author", author);
MediaHandler handler = portfolioService.getMediaHandler(media.getType());
String type = translate("artefact." + handler.getType());
metaVC.contextPut("mediaType", type);
String iconCssClass = handler.getIconCssClass(media);
if (StringHelper.containsNonWhitespace(iconCssClass)) {
metaVC.contextPut("mediaIconCssClass", iconCssClass);
}
if (media.getCollectionDate() != null) {
String collectionDate = Formatter.getInstance(getLocale()).formatDate(media.getCollectionDate());
metaVC.contextPut("collectionDate", collectionDate);
}
if (StringHelper.containsNonWhitespace(media.getMetadataXml())) {
Object metadata = MetadataXStream.get().fromXML(media.getMetadataXml());
metaVC.contextPut("metadata", metadata);
}
List<Category> categories = portfolioService.getCategories(media);
if (categories != null && categories.size() > 0) {
List<String> categoriesList = categories.stream().map(c -> c.getName()).collect(Collectors.toList());
metaVC.contextPut("categoriesList", categoriesList);
}
}
use of org.olat.modules.portfolio.MediaHandler in project OpenOLAT by OpenOLAT.
the class MediaCenterController method initFilters.
private void initFilters(FlexiTableElement tableElement) {
List<FlexiTableFilter> filters = new ArrayList<>(16);
filters.add(new FlexiTableFilter(translate("filter.show.all"), "showall"));
filters.add(FlexiTableFilter.SPACER);
List<MediaHandler> handlers = portfolioService.getMediaHandlers();
for (MediaHandler handler : handlers) {
filters.add(new FlexiTableFilter(translate("artefact." + handler.getType()), handler.getType()));
}
tableElement.setFilters(null, filters, false);
}
use of org.olat.modules.portfolio.MediaHandler in project OpenOLAT by OpenOLAT.
the class MediaCenterController method doImportArtefactV1.
private Media doImportArtefactV1(AbstractArtefact oldArtefact) {
Media media = null;
MediaHandler handler = portfolioService.getMediaHandler(oldArtefact.getResourceableTypeName());
if (handler != null) {
media = handler.createMedia(oldArtefact);
}
return media;
}
use of org.olat.modules.portfolio.MediaHandler in project OpenOLAT by OpenOLAT.
the class MediaTypeCellRenderer method render.
@Override
public void render(Renderer renderer, StringOutput target, Object cellValue, int row, FlexiTableComponent source, URLBuilder ubu, Translator translator) {
if (cellValue instanceof MediaRow) {
MediaRow mRow = (MediaRow) cellValue;
MediaHandler handler = handlersMap.get(mRow.getType());
if (handler != null) {
target.append("<i class='o_icon o_icon-lg ").append(handler.getIconCssClass(mRow)).append("'> </i>");
}
}
}
use of org.olat.modules.portfolio.MediaHandler in project OpenOLAT by OpenOLAT.
the class CmdAddToEPortfolioImpl method execute.
/**
* might return NULL!, if item clicked was removed meanwhile or if portfolio is disabled or if only the folder-artefact-handler is disabled.
*
* @see org.olat.core.commons.modules.bc.commands.FolderCommand#execute(org.olat.core.commons.modules.bc.components.FolderComponent,
* org.olat.core.gui.UserRequest,
* org.olat.core.gui.control.WindowControl,
* org.olat.core.gui.translator.Translator)
*/
@Override
public Controller execute(FolderComponent folderComponent, UserRequest ureq, WindowControl wControl, Translator translator) {
String pos = ureq.getParameter(ListRenderer.PARAM_EPORT);
if (!StringHelper.containsNonWhitespace(pos)) {
// somehow parameter did not make it to us
status = FolderCommandStatus.STATUS_FAILED;
getWindowControl().setError(translator.translate("failed"));
return null;
}
status = FolderCommandHelper.sanityCheck(wControl, folderComponent);
if (status == FolderCommandStatus.STATUS_SUCCESS) {
currentItem = folderComponent.getCurrentContainerChildren().get(Integer.parseInt(pos));
status = FolderCommandHelper.sanityCheck2(wControl, folderComponent, currentItem);
}
if (status == FolderCommandStatus.STATUS_FAILED) {
return null;
}
if (portfolioV2Module.isEnabled()) {
PortfolioService portfolioService = CoreSpringFactory.getImpl(PortfolioService.class);
MediaHandler handler = null;
String extension = FileUtils.getFileSuffix(currentItem.getName());
if (StringHelper.containsNonWhitespace(extension)) {
if ("jpg".equalsIgnoreCase(extension) || "jpeg".equalsIgnoreCase(extension) || "png".equalsIgnoreCase(extension) || "gif".equalsIgnoreCase(extension)) {
handler = portfolioService.getMediaHandler(ImageHandler.IMAGE_TYPE);
}
// TODO video
}
if (handler == null) {
handler = portfolioService.getMediaHandler(FileHandler.FILE_TYPE);
}
collectStepsCtrl = new CollectArtefactController(ureq, wControl, currentItem, handler, "");
} else {
EPArtefactHandler<?> artHandler = portfolioModule.getArtefactHandler(FileArtefact.FILE_ARTEFACT_TYPE);
AbstractArtefact artefact = artHandler.createArtefact();
artHandler.prefillArtefactAccordingToSource(artefact, currentItem);
artefact.setAuthor(getIdentity());
collectStepsCtrl = new ArtefactWizzardStepsController(ureq, wControl, artefact, currentItem.getParentContainer());
}
return collectStepsCtrl;
}
Aggregations