Search in sources :

Example 36 with MediaResource

use of org.olat.core.gui.media.MediaResource in project OpenOLAT by OpenOLAT.

the class CatalogEntryImageMapper method handle.

@Override
public MediaResource handle(String relPath, HttpServletRequest request) {
    if (relPath.startsWith("/")) {
        relPath = relPath.substring(1, relPath.length());
    }
    VFSContainer categoryResources = catalogManager.getCatalogResourcesHome();
    VFSItem image = categoryResources.resolve(relPath);
    MediaResource resource = null;
    if (image instanceof VFSLeaf) {
        if (image instanceof MetaTagged) {
            MetaInfo info = ((MetaTagged) image).getMetaInfo();
            if (info != null) {
                VFSLeaf thumbnail = info.getThumbnail(180, 180, true);
                if (thumbnail != null) {
                    resource = new VFSMediaResource(thumbnail);
                }
            }
        }
        if (resource == null) {
            resource = new VFSMediaResource((VFSLeaf) image);
        }
    } else {
        resource = new NotFoundMediaResource();
    }
    return resource;
}
Also used : NotFoundMediaResource(org.olat.core.gui.media.NotFoundMediaResource) VFSLeaf(org.olat.core.util.vfs.VFSLeaf) VFSContainer(org.olat.core.util.vfs.VFSContainer) MetaTagged(org.olat.core.commons.modules.bc.meta.tagged.MetaTagged) MetaInfo(org.olat.core.commons.modules.bc.meta.MetaInfo) VFSItem(org.olat.core.util.vfs.VFSItem) VFSMediaResource(org.olat.core.util.vfs.VFSMediaResource) MediaResource(org.olat.core.gui.media.MediaResource) NotFoundMediaResource(org.olat.core.gui.media.NotFoundMediaResource) VFSMediaResource(org.olat.core.util.vfs.VFSMediaResource)

Example 37 with MediaResource

use of org.olat.core.gui.media.MediaResource in project OpenOLAT by OpenOLAT.

the class CustomDBController method exportDb.

private void exportDb(UserRequest ureq, final String category) {
    final ICourse course = CourseFactory.loadCourse(courseKey);
    String label = ExportUtil.createFileNameWithTimeStamp("DBS_" + course.getCourseTitle(), "xls");
    MediaResource export = new OpenXMLWorkbookResource(label) {

        @Override
        protected void generate(OutputStream out) {
            try (OpenXMLWorkbook workbook = new OpenXMLWorkbook(out, 1)) {
                List<CourseDBEntry> content = courseDbManager.getValues(course, null, category, null);
                OpenXMLWorksheet exportSheet = workbook.nextWorksheet();
                // create the headers
                Row headerRow = exportSheet.newRow();
                headerRow.addCell(0, translate("customDb.category"), workbook.getStyles().getHeaderStyle());
                headerRow.addCell(1, translate("customDb.entry.identity"), workbook.getStyles().getHeaderStyle());
                headerRow.addCell(2, translate("customDb.entry.name"), workbook.getStyles().getHeaderStyle());
                headerRow.addCell(3, translate("customDb.entry.value"), workbook.getStyles().getHeaderStyle());
                for (CourseDBEntry entry : content) {
                    User user = entry.getIdentity().getUser();
                    String name = user.getProperty(UserConstants.FIRSTNAME, null) + " " + user.getProperty(UserConstants.LASTNAME, null);
                    Row dataRow = exportSheet.newRow();
                    dataRow.addCell(0, entry.getCategory(), null);
                    dataRow.addCell(1, name, null);
                    if (StringHelper.containsNonWhitespace(entry.getName())) {
                        dataRow.addCell(2, entry.getName(), null);
                    }
                    if (entry.getValue() != null) {
                        dataRow.addCell(3, entry.getValue().toString(), null);
                    }
                }
            } catch (IOException e) {
                logError("", e);
            }
        }
    };
    ureq.getDispatchResult().setResultingMediaResource(export);
}
Also used : User(org.olat.core.id.User) OpenXMLWorkbookResource(org.olat.core.util.openxml.OpenXMLWorkbookResource) OutputStream(java.io.OutputStream) OpenXMLWorkbook(org.olat.core.util.openxml.OpenXMLWorkbook) ICourse(org.olat.course.ICourse) MediaResource(org.olat.core.gui.media.MediaResource) Row(org.olat.core.util.openxml.OpenXMLWorksheet.Row) IOException(java.io.IOException) OpenXMLWorksheet(org.olat.core.util.openxml.OpenXMLWorksheet)

Example 38 with MediaResource

use of org.olat.core.gui.media.MediaResource in project OpenOLAT by OpenOLAT.

the class FileArtefactDetailsController method initFileView.

private void initFileView(VFSItem file, UserRequest ureq) {
    vC = createVelocityContainer("fileDetails");
    DownloadComponent downlC = new DownloadComponent("download", (VFSLeaf) file);
    vC.put("download", downlC);
    vC.contextPut("filename", fArtefact.getFilename());
    if (file instanceof MetaTagged) {
        MetaInfo meta = ((MetaTagged) file).getMetaInfo();
        vC.contextPut("meta", meta);
        // show a preview thumbnail if possible
        if (meta.isThumbnailAvailable()) {
            VFSLeaf thumb = meta.getThumbnail(200, 200, false);
            if (thumb != null) {
                mr = new VFSMediaResource(thumb);
            }
            if (mr != null) {
                String thumbMapper = registerMapper(ureq, new Mapper() {

                    @Override
                    public MediaResource handle(String relPath, HttpServletRequest request) {
                        return mr;
                    }
                });
                vC.contextPut("thumbMapper", thumbMapper);
            }
        }
    }
    if (!readOnlyMode) {
        // allow to delete
        delLink = LinkFactory.createLink("delete.file", vC, this);
        delLink.setUserObject(file);
    }
    viewPanel.setContent(vC);
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) VFSLeaf(org.olat.core.util.vfs.VFSLeaf) Mapper(org.olat.core.dispatcher.mapper.Mapper) MetaTagged(org.olat.core.commons.modules.bc.meta.tagged.MetaTagged) MetaInfo(org.olat.core.commons.modules.bc.meta.MetaInfo) DownloadComponent(org.olat.core.gui.components.download.DownloadComponent) MediaResource(org.olat.core.gui.media.MediaResource) VFSMediaResource(org.olat.core.util.vfs.VFSMediaResource) VFSMediaResource(org.olat.core.util.vfs.VFSMediaResource)

Example 39 with MediaResource

use of org.olat.core.gui.media.MediaResource in project openolat by klemens.

the class VFSContainerMapper method handle.

public MediaResource handle(String relPath, HttpServletRequest request) {
    VFSItem vfsItem = container.resolve(relPath);
    MediaResource mr;
    if (vfsItem == null || !(vfsItem instanceof VFSLeaf)) {
        mr = new NotFoundMediaResource();
    } else {
        mr = new VFSMediaResource((VFSLeaf) vfsItem);
    }
    return mr;
}
Also used : NotFoundMediaResource(org.olat.core.gui.media.NotFoundMediaResource) MediaResource(org.olat.core.gui.media.MediaResource) NotFoundMediaResource(org.olat.core.gui.media.NotFoundMediaResource)

Example 40 with MediaResource

use of org.olat.core.gui.media.MediaResource in project openolat by klemens.

the class CustomDBController method exportDb.

private void exportDb(UserRequest ureq, final String category) {
    final ICourse course = CourseFactory.loadCourse(courseKey);
    String label = ExportUtil.createFileNameWithTimeStamp("DBS_" + course.getCourseTitle(), "xls");
    MediaResource export = new OpenXMLWorkbookResource(label) {

        @Override
        protected void generate(OutputStream out) {
            try (OpenXMLWorkbook workbook = new OpenXMLWorkbook(out, 1)) {
                List<CourseDBEntry> content = courseDbManager.getValues(course, null, category, null);
                OpenXMLWorksheet exportSheet = workbook.nextWorksheet();
                // create the headers
                Row headerRow = exportSheet.newRow();
                headerRow.addCell(0, translate("customDb.category"), workbook.getStyles().getHeaderStyle());
                headerRow.addCell(1, translate("customDb.entry.identity"), workbook.getStyles().getHeaderStyle());
                headerRow.addCell(2, translate("customDb.entry.name"), workbook.getStyles().getHeaderStyle());
                headerRow.addCell(3, translate("customDb.entry.value"), workbook.getStyles().getHeaderStyle());
                for (CourseDBEntry entry : content) {
                    User user = entry.getIdentity().getUser();
                    String name = user.getProperty(UserConstants.FIRSTNAME, null) + " " + user.getProperty(UserConstants.LASTNAME, null);
                    Row dataRow = exportSheet.newRow();
                    dataRow.addCell(0, entry.getCategory(), null);
                    dataRow.addCell(1, name, null);
                    if (StringHelper.containsNonWhitespace(entry.getName())) {
                        dataRow.addCell(2, entry.getName(), null);
                    }
                    if (entry.getValue() != null) {
                        dataRow.addCell(3, entry.getValue().toString(), null);
                    }
                }
            } catch (IOException e) {
                logError("", e);
            }
        }
    };
    ureq.getDispatchResult().setResultingMediaResource(export);
}
Also used : User(org.olat.core.id.User) OpenXMLWorkbookResource(org.olat.core.util.openxml.OpenXMLWorkbookResource) OutputStream(java.io.OutputStream) OpenXMLWorkbook(org.olat.core.util.openxml.OpenXMLWorkbook) ICourse(org.olat.course.ICourse) MediaResource(org.olat.core.gui.media.MediaResource) Row(org.olat.core.util.openxml.OpenXMLWorksheet.Row) IOException(java.io.IOException) OpenXMLWorksheet(org.olat.core.util.openxml.OpenXMLWorksheet)

Aggregations

MediaResource (org.olat.core.gui.media.MediaResource)141 VFSMediaResource (org.olat.core.util.vfs.VFSMediaResource)36 VFSLeaf (org.olat.core.util.vfs.VFSLeaf)32 NotFoundMediaResource (org.olat.core.gui.media.NotFoundMediaResource)30 Identity (org.olat.core.id.Identity)18 VFSItem (org.olat.core.util.vfs.VFSItem)18 File (java.io.File)16 ArrayList (java.util.ArrayList)16 RedirectMediaResource (org.olat.core.gui.media.RedirectMediaResource)16 IOException (java.io.IOException)13 FileMediaResource (org.olat.core.gui.media.FileMediaResource)12 List (java.util.List)10 MetaInfo (org.olat.core.commons.modules.bc.meta.MetaInfo)10 MetaTagged (org.olat.core.commons.modules.bc.meta.tagged.MetaTagged)10 StringMediaResource (org.olat.core.gui.media.StringMediaResource)8 AssertException (org.olat.core.logging.AssertException)8 RepositoryEntry (org.olat.repository.RepositoryEntry)8 RepositoryHandler (org.olat.repository.handlers.RepositoryHandler)8 InputStream (java.io.InputStream)6 OLATResourceable (org.olat.core.id.OLATResourceable)6