/** * Execute custom Java logic * * @param req Web Script request * @param status Web Script status * @param cache Web Script cache * @return custom service model */ protected Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache) { // NOTE: Redirect to those web scripts implemented before cache support and v2.9 return executeImpl(req, status); }
/** * Render a template (of given format) to the Web Script Response * * @param format template format (null, default format) * @param model data model to render * @param writer where to output */ final protected void renderFormatTemplate(String format, Map<String, Object> model, Writer writer) { format = (format == null) ? "" : format; String templatePath = getDescription().getId() + "." + format; if (logger.isDebugEnabled()) logger.debug("Rendering template '" + templatePath + "'"); renderTemplate(templatePath, model, writer); }
String mimetype = getContainer().getFormatRegistry().getMimeType(req.getAgent(), format); if (mimetype == null) Cache cache = new Cache(getDescription().getRequiredCache()); Map<String, Object> model = executeImpl(req, status, cache); if (model == null) ScriptDetails script = getExecuteScript(req.getContentType()); if (script != null) logger.debug("Executing script " + script.getContent().getPathDescription()); Map<String, Object> scriptModel = createScriptParameters(req, res, script, model); executeScript(script.getContent(), scriptModel); mergeScriptModelIntoTemplateModel(script.getContent(), returnModel, model); Map<String, Object> templateModel = createTemplateParameters(req, res, model); sendStatus(req, res, status, cache, format, templateModel); if (getContainer().allowCallbacks()) renderFormatTemplate(format, templateModel, res.getWriter()); executeFinallyImpl(req, status, cache, model); throw createStatusException(e, req, res);
Cache cache = new Cache(getDescription().getRequiredCache()); Map<String, Object> model = new HashMap<String, Object>(8, 1.0f); ScriptDetails script = getExecuteScript(req.getContentType()); if (script != null) Map<String, Object> scriptModel = createScriptParameters(req, res, script, model); executeScript(script.getContent(), scriptModel); mergeScriptModelIntoTemplateModel(script.getContent(), returnModel, model); return createTemplateParameters(req, res, model);
/** * Merge script generated model into template-ready model * * @param scriptContent script content * @param scriptModel script model * @param templateModel template model */ final private void mergeScriptModelIntoTemplateModel(ScriptContent scriptContent, Map<String, Object> scriptModel, Map<String, Object> templateModel) { // determine script processor ScriptProcessor scriptProcessor = getContainer().getScriptProcessorRegistry().getScriptProcessor(scriptContent); if (scriptProcessor != null) { for (Map.Entry<String, Object> entry : scriptModel.entrySet()) { // retrieve script model value Object value = entry.getValue(); Object templateValue = scriptProcessor.unwrapValue(value); templateModel.put(entry.getKey(), templateValue); } } }
String mimetype = getContainer().getFormatRegistry().getMimeType(req.getAgent(), format); if (mimetype == null) Cache cache = new Cache(getDescription().getRequiredCache()); Map<String, Object> model = executeImpl(req, status, cache); if (model == null) ScriptDetails script = getExecuteScript(req.getContentType()); if (script != null) logger.debug("Executing script " + script.getContent().getPathDescription()); Map<String, Object> scriptModel = createScriptParameters(req, res, script, model); executeScript(script.getContent(), scriptModel); mergeScriptModelIntoTemplateModel(script.getContent(), returnModel, model); Map<String, Object> templateModel = createTemplateParameters(req, res, model); sendStatus(req, res, status, cache, format, templateModel); if (getContainer().allowCallbacks()) renderFormatTemplate(format, templateModel, res.getWriter()); executeFinallyImpl(req, status, cache, model); throw createStatusException(e, req, res);
Cache cache = new Cache(getDescription().getRequiredCache()); Map<String, Object> model = new HashMap<String, Object>(8, 1.0f); ScriptDetails script = getExecuteScript(req.getContentType()); if (script != null) Map<String, Object> scriptModel = createScriptParameters(req, res, script, model); executeScript(script.getContent(), scriptModel); mergeScriptModelIntoTemplateModel(script.getContent(), returnModel, model); return createTemplateParameters(req, res, model);
/** * Merge script generated model into template-ready model * * @param scriptContent script content * @param scriptModel script model * @param templateModel template model */ final private void mergeScriptModelIntoTemplateModel(ScriptContent scriptContent, Map<String, Object> scriptModel, Map<String, Object> templateModel) { // determine script processor ScriptProcessor scriptProcessor = getContainer().getScriptProcessorRegistry().getScriptProcessor(scriptContent); if (scriptProcessor != null) { for (Map.Entry<String, Object> entry : scriptModel.entrySet()) { // retrieve script model value Object value = entry.getValue(); Object templateValue = scriptProcessor.unwrapValue(value); templateModel.put(entry.getKey(), templateValue); } } }
String mimetype = getContainer().getFormatRegistry().getMimeType(req.getAgent(), format); if (mimetype == null) Cache cache = new Cache(getDescription().getRequiredCache()); Map<String, Object> model = executeImpl(req, status, cache); if (model == null) ScriptDetails script = getExecuteScript(req.getContentType()); if (script != null) logger.debug("Executing script " + script.getContent().getPathDescription()); Map<String, Object> scriptModel = createScriptParameters(req, res, script, model); executeScript(script.getContent(), scriptModel); mergeScriptModelIntoTemplateModel(script.getContent(), returnModel, model); Map<String, Object> templateModel = createTemplateParameters(req, res, model); sendStatus(req, res, status, cache, format, templateModel); if (getContainer().allowCallbacks()) renderFormatTemplate(format, templateModel, res.getWriter()); executeFinallyImpl(req, status, cache, model); throw createStatusException(e, req, res);
Cache cache = new Cache(getDescription().getRequiredCache()); Map<String, Object> model = new HashMap<String, Object>(8, 1.0f); ScriptDetails script = getExecuteScript(req.getContentType()); if (script != null) Map<String, Object> scriptModel = createScriptParameters(req, res, script, model); executeScript(script.getContent(), scriptModel); mergeScriptModelIntoTemplateModel(script.getContent(), returnModel, model); return createTemplateParameters(req, res, model);
/** * Render a template (of given format) to the Web Script Response * * @param format template format (null, default format) * @param model data model to render * @param writer where to output */ final protected void renderFormatTemplate(String format, Map<String, Object> model, Writer writer) { format = (format == null) ? "" : format; String templatePath = getDescription().getId() + "." + format; if (logger.isDebugEnabled()) logger.debug("Rendering template '" + templatePath + "'"); renderTemplate(templatePath, model, writer); }
/** * Execute custom Java logic * * @param req Web Script request * @param status Web Script status * @param cache Web Script cache * @return custom service model */ protected Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache) { // NOTE: Redirect to those web scripts implemented before cache support and v2.9 return executeImpl(req, status); }
/** * Merge script generated model into template-ready model * * @param scriptContent script content * @param scriptModel script model * @param templateModel template model */ final private void mergeScriptModelIntoTemplateModel(ScriptContent scriptContent, Map<String, Object> scriptModel, Map<String, Object> templateModel) { // determine script processor ScriptProcessor scriptProcessor = getContainer().getScriptProcessorRegistry().getScriptProcessor(scriptContent); if (scriptProcessor != null) { for (Map.Entry<String, Object> entry : scriptModel.entrySet()) { // retrieve script model value Object value = entry.getValue(); Object templateValue = scriptProcessor.unwrapValue(value); templateModel.put(entry.getKey(), templateValue); } } }
/** * Render a template (of given format) to the Web Script Response * * @param format template format (null, default format) * @param model data model to render * @param writer where to output */ final protected void renderFormatTemplate(String format, Map<String, Object> model, Writer writer) { format = (format == null) ? "" : format; String templatePath = getDescription().getId() + "." + format; if (logger.isDebugEnabled()) logger.debug("Rendering template '" + templatePath + "'"); renderTemplate(templatePath, model, writer); }
/** * Execute custom Java logic * * @param req Web Script request * @param status Web Script status * @param cache Web Script cache * @return custom service model */ protected Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache) { // NOTE: Redirect to those web scripts implemented before cache support and v2.9 return executeImpl(req, status); }
/** * Execute custom Java logic * * @param req Web Script request * @param status Web Script status * @return custom service model * @deprecated */ protected Map<String, Object> executeImpl(WebScriptRequest req, Status status) { return executeImpl(req, new WebScriptStatus(status)); }
/** * Execute custom Java logic * * @param req Web Script request * @param status Web Script status * @return custom service model * @deprecated */ protected Map<String, Object> executeImpl(WebScriptRequest req, Status status) { return executeImpl(req, new WebScriptStatus(status)); }
/** * Execute custom Java logic * * @param req Web Script request * @param status Web Script status * @return custom service model * @deprecated */ protected Map<String, Object> executeImpl(WebScriptRequest req, Status status) { return executeImpl(req, new WebScriptStatus(status)); }