Example usage for org.springframework.web.servlet.support RequestContext getMessage

List of usage examples for org.springframework.web.servlet.support RequestContext getMessage

Introduction

In this page you can find the example usage for org.springframework.web.servlet.support RequestContext getMessage.

Prototype

public String getMessage(MessageSourceResolvable resolvable) throws NoSuchMessageException 

Source Link

Document

Retrieve the given MessageSourceResolvable (e.g.

Usage

From source file:gov.nih.nci.calims2.taglib.form.OptionManager.java

/**
 * Generates a new Option object for the given option that may be of any class.
 * /*from w ww  .  j a v a 2  s . c  om*/
 * @param option The given option
 * @param requestContext The current request context.
 * @return The new Option generated.
 */
Option getOptionForOption(Object option, RequestContext requestContext) {
    if (option instanceof Option) {
        Option newOption = ((Option) option).clone();
        if (newOption.getLabelKey() != null) {
            newOption.setLabel(requestContext.getMessage(newOption.getLabelKey()));
        }
        return newOption;
    }
    if (option instanceof I18nEnumeration) {
        I18nEnumeration enumValue = (I18nEnumeration) option;
        return new Option(enumValue.getName(), enumValue.getLocalizedValue(requestContext.getLocale()));
    }
    BeanWrapper wrapper = PropertyAccessorFactory.forBeanPropertyAccess(option);
    return new Option(wrapper.getPropertyValue(idProperty).toString(),
            wrapper.getPropertyValue(labelProperty).toString());
}

From source file:org.openmrs.module.web.taglib.ExtensionPopupMenuTag.java

public int doStartTag() throws JspException {
    if (showLabelIfNoExtensions == null) {
        showLabelIfNoExtensions = true;//from w w w.j a  va  2  s.  c  o  m
    }
    // using this as we'd use MessageSourceAccessor
    RequestContext context = new RequestContext((HttpServletRequest) this.pageContext.getRequest());

    boolean below = !"above".equals(position);
    Map<String, String> parameters = new HashMap<String, String>();
    if (this.parameters != null) {
        parameters.putAll(OpenmrsUtil.parseParameterList(this.parameters));
    }

    StringBuilder sb = new StringBuilder();
    sb.append("<span style=\"position: relative\">");
    if (below) {
        sb.append("<div id=\"" + popupDivId
                + "\" style=\"width: 35em; border: 1px solid black; background-color: #f0f0a0; position: absolute; top: 0px; padding-right: 1.2em; z-index: 1; display: none\">");
    } else {
        sb.append("<div id=\"" + popupDivId
                + "\" style=\"width: 35em; border: 1px solid black; background-color: #f0f0a0; position: absolute; bottom: 0px; padding-right: 1.2em; z-index: 1; display: none\">");
    }

    sb.append("<div style=\"float: right\"><a href=\"javascript:hideLayer('" + popupDivId + "');\" >["
            + context.getMessage("general.close") + "]</a></div>");
    sb.append("<ul>");
    boolean anyExtensionsFound = false;
    List<Extension> extensions = ModuleFactory.getExtensions(pointId, Extension.MEDIA_TYPE.html);
    for (Extension e : extensions) {
        if (e instanceof LinkProviderExtension) {
            anyExtensionsFound = true;
            LinkProviderExtension extension = (LinkProviderExtension) e;
            List<Link> links = extension.getLinks();
            log.debug("extension of class " + e.getClass() + " provides " + links.size() + " links");
            for (Link link : links) {
                String url = link.getUrl();
                log.debug("url = " + url);
                StringBuilder hiddenVars = new StringBuilder();
                Map<String, String> javascriptSubstitutions = new HashMap<String, String>();
                for (Map.Entry<String, String> entry : link.getQueryParameters().entrySet()) {
                    hiddenVars.append("<input type=\"hidden\" name=\"" + entry.getKey() + "\" value=\""
                            + entry.getValue() + "\"/>\n");
                }
                for (Map.Entry<String, String> entry : parameters.entrySet()) {
                    hiddenVars.append("<input type=\"hidden\" name=\"" + entry.getKey() + "\" ");
                    if (entry.getValue().startsWith("javascript:")) {
                        String function = entry.getValue();
                        function = function.substring(function.indexOf(":") + 1);
                        String random = randomString();
                        javascriptSubstitutions.put(random, function);
                        hiddenVars.append("id=\"" + random + "\" value=\"\"");
                    } else {
                        hiddenVars.append("value=\"" + entry.getValue() + "\"");
                    }
                    hiddenVars.append("/>\n");
                }
                String formId = randomString();

                StringBuilder onClick = new StringBuilder();
                if (javascriptSubstitutions.size() > 0) {
                    onClick.append(" var _popup_tmp = ''; ");
                }
                for (Map.Entry<String, String> entry : javascriptSubstitutions.entrySet()) {
                    String id = entry.getKey();
                    String function = entry.getValue();
                    onClick.append(" _popup_tmp = " + function
                            + "; if (_popup_tmp == null) return; document.getElementById('" + id
                            + "').value = _popup_tmp; ");
                }
                onClick.append("document.getElementById('" + formId + "').submit();");

                sb.append("<li>");
                sb.append("<form id=\"" + formId + "\" method=\"post\" action=\"" + url + "\">\n");
                sb.append(hiddenVars);
                sb.append("\n<a href=\"#\" onClick=\"javascript:" + onClick + "\">"
                        + context.getMessage(link.getLabel(), link.getLabel()) + "</a>");
                if (link.getDescription() != null) {
                    sb.append("<br/><small>" + context.getMessage(link.getDescription(), link.getDescription())
                            + "</small>");
                }
                sb.append("</form>");
                sb.append("</li>");
            }
        }
    }
    if (!anyExtensionsFound) {
        sb.append("<li>" + context.getMessage("general.none") + "</li>");
    }

    sb.append("</ul>");
    sb.append("</div>");
    sb.append("</span>");
    sb.append("<a href=\"#\" onClick=\"toggleLayer('" + popupDivId + "')\" style=\"border: 1px black solid\">"
            + context.getMessage(label, label) + "</a>");

    try {
        if (anyExtensionsFound || showLabelIfNoExtensions) {
            pageContext.getOut().print(sb);
        }
    } catch (IOException ex) {
        throw new JspException(ex);
    }

    resetValues();
    return SKIP_BODY;
}