Search in sources :

Example 1 with Mapper

use of org.olat.core.dispatcher.mapper.Mapper in project OpenOLAT by OpenOLAT.

the class EdubaseViewerController method createMapperUri.

private String createMapperUri(UserRequest ureq) {
    String launchUrl = edubaseManager.getLtiLaunchUrl(bookSection);
    String baseUrl = edubaseModule.getLtiBaseUrl();
    String oauthConsumerKey = edubaseModule.getOauthKey();
    String oauthSecret = edubaseModule.getOauthSecret();
    LTIContext context = new EdubaseContext(ureq.getUserSession().getIdentityEnvironment(), bookSection.getPageTo());
    Map<String, String> unsignedProps = ltiManager.forgeLTIProperties(getIdentity(), getLocale(), context, true, true, false);
    Mapper contentMapper = new PostDataMapper(unsignedProps, launchUrl, baseUrl, oauthConsumerKey, oauthSecret, false);
    String mapperUri = registerMapper(ureq, contentMapper);
    mapperUri = mapperUri + "/";
    return mapperUri;
}
Also used : Mapper(org.olat.core.dispatcher.mapper.Mapper) PostDataMapper(org.olat.ims.lti.ui.PostDataMapper) LTIContext(org.olat.ims.lti.LTIContext) PostDataMapper(org.olat.ims.lti.ui.PostDataMapper)

Example 2 with Mapper

use of org.olat.core.dispatcher.mapper.Mapper in project OpenOLAT by OpenOLAT.

the class WikiMarkupComponent method setImageMapperUri.

/**
 * if the wiki need to serve images you have to set the image mapper uri first!
 * The mapper creates an user session based mapper for the media files which can be requested by calling @see getImageBaseUri()
 * @param ureq
 * @param wikiContainer
 */
public void setImageMapperUri(UserRequest ureq, final VFSContainer wikiContainer) {
    // get a usersession-local mapper for images in this wiki
    Mapper contentMapper = new VFSContainerMapper(wikiContainer);
    // Register mapper as cacheable
    String mapperID = VFSManager.getRealPath(wikiContainer);
    if (mapperID == null) {
        // Can't cache mapper, no cacheable context available
        mapperKey = CoreSpringFactory.getImpl(MapperService.class).register(ureq.getUserSession(), contentMapper);
    } else {
        // Add classname to the file path to remove conflicts with other
        // usages of the same file path
        mapperID = this.getClass().getSimpleName() + ":" + mapperID;
        mapperKey = CoreSpringFactory.getImpl(MapperService.class).register(ureq.getUserSession(), mapperID, contentMapper);
    }
    imageBaseUri = mapperKey.getUrl() + "/" + WikiContainer.MEDIA_FOLDER_NAME + "/";
}
Also used : VFSContainerMapper(org.olat.core.util.vfs.VFSContainerMapper) VFSContainerMapper(org.olat.core.util.vfs.VFSContainerMapper) Mapper(org.olat.core.dispatcher.mapper.Mapper)

Example 3 with Mapper

use of org.olat.core.dispatcher.mapper.Mapper in project OpenOLAT by OpenOLAT.

the class Card2BrainRunController method runCard2Brain.

private void runCard2Brain(UserRequest ureq) {
    VelocityContainer container = createVelocityContainer("run");
    String url = String.format(card2BrainModule.getBaseUrl(), config.getStringValue(Card2BrainCourseNode.CONFIG_FLASHCARD_ALIAS));
    String oauth_consumer_key;
    String oauth_secret;
    if (config.getBooleanSafe(Card2BrainCourseNode.CONFIG_ENABLE_PRIVATE_LOGIN)) {
        oauth_consumer_key = (String) config.get(Card2BrainCourseNode.CONFIG_PRIVATE_KEY);
        oauth_secret = (String) config.get(Card2BrainCourseNode.CONFIG_PRIVATE_SECRET);
    } else {
        oauth_consumer_key = card2BrainModule.getEnterpriseKey();
        oauth_secret = card2BrainModule.getEnterpriseSecret();
    }
    LTIContext context = new Card2BrainContext();
    Map<String, String> unsignedProps = ltiManager.forgeLTIProperties(getIdentity(), getLocale(), context, true, true, false);
    Mapper contentMapper = new PostDataMapper(unsignedProps, url, oauth_consumer_key, oauth_secret, false);
    String mapperUri = registerMapper(ureq, contentMapper);
    container.contextPut("mapperUri", mapperUri + "/");
    JSAndCSSComponent js = new JSAndCSSComponent("js", new String[] { "js/iframeResizer/iframeResizer.min.js" }, null);
    container.put("js", js);
    main.setContent(container);
}
Also used : Mapper(org.olat.core.dispatcher.mapper.Mapper) PostDataMapper(org.olat.ims.lti.ui.PostDataMapper) JSAndCSSComponent(org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent) LTIContext(org.olat.ims.lti.LTIContext) PostDataMapper(org.olat.ims.lti.ui.PostDataMapper) VelocityContainer(org.olat.core.gui.components.velocity.VelocityContainer)

Example 4 with Mapper

use of org.olat.core.dispatcher.mapper.Mapper 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 5 with Mapper

use of org.olat.core.dispatcher.mapper.Mapper in project OpenOLAT by OpenOLAT.

the class MapperDAO method retrieveMapperById.

public Mapper retrieveMapperById(String mapperId) {
    List<PersistedMapper> mappers = dbInstance.getCurrentEntityManager().createNamedQuery("loadMapperByKey", PersistedMapper.class).setParameter("mapperId", mapperId).getResultList();
    PersistedMapper pm = mappers.isEmpty() ? null : mappers.get(0);
    if (pm != null && StringHelper.containsNonWhitespace(pm.getXmlConfiguration())) {
        String configuration = pm.getXmlConfiguration();
        Object obj = XStreamHelper.createXStreamInstance().fromXML(configuration);
        if (obj instanceof Mapper) {
            return (Mapper) obj;
        }
    }
    return null;
}
Also used : PersistedMapper(org.olat.core.dispatcher.mapper.model.PersistedMapper) Mapper(org.olat.core.dispatcher.mapper.Mapper) PersistedMapper(org.olat.core.dispatcher.mapper.model.PersistedMapper)

Aggregations

Mapper (org.olat.core.dispatcher.mapper.Mapper)20 LTIContext (org.olat.ims.lti.LTIContext)6 PostDataMapper (org.olat.ims.lti.ui.PostDataMapper)6 HttpServletRequest (javax.servlet.http.HttpServletRequest)4 PersistedMapper (org.olat.core.dispatcher.mapper.model.PersistedMapper)4 MediaResource (org.olat.core.gui.media.MediaResource)4 VFSContainerMapper (org.olat.core.util.vfs.VFSContainerMapper)4 VFSLeaf (org.olat.core.util.vfs.VFSLeaf)4 VFSMediaResource (org.olat.core.util.vfs.VFSMediaResource)4 HashMap (java.util.HashMap)2 JSONArray (org.json.JSONArray)2 MetaInfo (org.olat.core.commons.modules.bc.meta.MetaInfo)2 MetaTagged (org.olat.core.commons.modules.bc.meta.tagged.MetaTagged)2 DownloadComponent (org.olat.core.gui.components.download.DownloadComponent)2 JSAndCSSComponent (org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent)2 VelocityContainer (org.olat.core.gui.components.velocity.VelocityContainer)2 JSONMediaResource (org.olat.core.gui.media.JSONMediaResource)2 NotFoundMediaResource (org.olat.core.gui.media.NotFoundMediaResource)2 RedirectMediaResource (org.olat.core.gui.media.RedirectMediaResource)2 LocalFolderImpl (org.olat.core.util.vfs.LocalFolderImpl)2