Search in sources :

Example 16 with Mapper

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

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 17 with Mapper

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

the class MapperServiceImpl method getMapperById.

@Override
public Mapper getMapperById(UserSession session, String id) {
    if (!StringHelper.containsNonWhitespace(id)) {
        return null;
    }
    int index = id.indexOf(DispatcherModule.PATH_MAPPED);
    if (index >= 0) {
        id = id.substring(index + DispatcherModule.PATH_MAPPED.length(), id.length());
    }
    MapperKey mapperKey = new MapperKey(session, id);
    Mapper mapper = mapperKeyToMapper.get(mapperKey);
    if (mapper == null) {
        mapper = (Mapper) mapperCache.get(id);
        if (mapper == null) {
            mapper = mapperDao.retrieveMapperById(id);
            if (mapper != null) {
                mapperCache.put(id, (Serializable) mapper);
            }
        }
    }
    return mapper;
}
Also used : PersistedMapper(org.olat.core.dispatcher.mapper.model.PersistedMapper) Mapper(org.olat.core.dispatcher.mapper.Mapper)

Example 18 with Mapper

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

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)

Example 19 with Mapper

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

the class TextBoxListComponent method setMapper.

/**
 * registers a OpenOLAT Mapper for this textBoxListComponent
 *
 * @param ureq
 */
private void setMapper(UserRequest ureq) {
    Mapper mapper = new Mapper() {

        public MediaResource handle(String relPath, HttpServletRequest request) {
            String lastInput = request.getParameter("term");
            if (lastInput != null && lastInput.length() > 2) {
                Map<String, String> autoCContLoc = new HashMap<String, String>();
                provider.getAutoCompleteContent(lastInput, autoCContLoc);
                setAutoCompleteContent(autoCContLoc);
            }
            JSONArray jsonResult = getAutoCompleteJSON();
            return new JSONMediaResource(jsonResult, "UTF-8");
        }
    };
    mapperKey = CoreSpringFactory.getImpl(MapperService.class).register(ureq.getUserSession(), mapper);
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) Mapper(org.olat.core.dispatcher.mapper.Mapper) HashMap(java.util.HashMap) JSONArray(org.json.JSONArray) JSONMediaResource(org.olat.core.gui.media.JSONMediaResource)

Example 20 with Mapper

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

the class LTIRunController method doBasicLTI.

private void doBasicLTI(UserRequest ureq, VelocityContainer container) {
    String url = getUrl();
    container.contextPut("url", url == null ? "" : url);
    String oauth_consumer_key = (String) config.get(LTIConfigForm.CONFIGKEY_KEY);
    String oauth_secret = (String) config.get(LTIConfigForm.CONFIGKEY_PASS);
    String debug = (String) config.get(LTIConfigForm.CONFIG_KEY_DEBUG);
    String serverUri = Settings.createServerURI();
    String sourcedId = courseEnv.getCourseResourceableId() + "_" + courseNode.getIdent() + "_" + getIdentity().getKey();
    container.contextPut("sourcedId", sourcedId);
    OLATResource courseResource = courseEnv.getCourseGroupManager().getCourseResource();
    Mapper talkbackMapper = new TalkBackMapper(getLocale(), getWindowControl().getWindowBackOffice().getWindow().getGuiTheme().getBaseURI());
    String backMapperUrl = registerCacheableMapper(ureq, sourcedId + "_talkback", talkbackMapper);
    String backMapperUri = serverUri + backMapperUrl + "/";
    Mapper outcomeMapper = new CourseNodeOutcomeMapper(getIdentity(), courseResource, courseNode.getIdent(), oauth_consumer_key, oauth_secret, sourcedId);
    String outcomeMapperUrl = registerCacheableMapper(ureq, sourcedId, outcomeMapper, LTIManager.EXPIRATION_TIME);
    String outcomeMapperUri = serverUri + outcomeMapperUrl + "/";
    boolean sendname = config.getBooleanSafe(LTIConfigForm.CONFIG_KEY_SENDNAME, false);
    boolean sendmail = config.getBooleanSafe(LTIConfigForm.CONFIG_KEY_SENDEMAIL, false);
    String ltiRoles = getLTIRoles();
    String target = config.getStringValue(BasicLTICourseNode.CONFIG_DISPLAY);
    String width = config.getStringValue(BasicLTICourseNode.CONFIG_WIDTH);
    String height = config.getStringValue(BasicLTICourseNode.CONFIG_HEIGHT);
    String custom = (String) config.get(LTIConfigForm.CONFIG_KEY_CUSTOM);
    container.contextPut("height", height);
    container.contextPut("width", width);
    LTIContext context = new LTICourseNodeContext(courseEnv, courseNode, ltiRoles, sourcedId, backMapperUri, outcomeMapperUri, custom, target, width, height);
    Map<String, String> unsignedProps = ltiManager.forgeLTIProperties(getIdentity(), getLocale(), context, sendname, sendmail, true);
    Mapper contentMapper = new PostDataMapper(unsignedProps, url, oauth_consumer_key, oauth_secret, "true".equals(debug));
    String mapperUri = registerMapper(ureq, contentMapper);
    container.contextPut("mapperUri", mapperUri + "/");
}
Also used : TalkBackMapper(org.olat.ims.lti.ui.TalkBackMapper) Mapper(org.olat.core.dispatcher.mapper.Mapper) PostDataMapper(org.olat.ims.lti.ui.PostDataMapper) TalkBackMapper(org.olat.ims.lti.ui.TalkBackMapper) OLATResource(org.olat.resource.OLATResource) LTIContext(org.olat.ims.lti.LTIContext) PostDataMapper(org.olat.ims.lti.ui.PostDataMapper)

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