Subversion Repositories bacoAlunos

Rev

Blame | Compare with Previous | Last modification | View Log | RSS feed

/*
 * MessagePatternTag.java
 *
 * Created on 17 de Dezembro de 2002, 17:05
 */


package jomm.web.tags;

/**
 *
 * @author  Jorge Machado
 */



import org.apache.log4j.Logger;
import org.apache.struts.util.RequestUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import java.util.ArrayList;
import java.util.List;

import jomm.utils.MessageResources;
import jomm.utils.ConfigProperties;

public class MessagePatternTag extends TagSupport
{
    private static 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(MessagePatternTag.class);

    private 1.5.0/docs/api/java/lang/String.html">String patternMessage;

    private 1.5.0/docs/api/java/lang/String.html">String name0;

    private 1.5.0/docs/api/java/lang/String.html">String property0;

    private 1.5.0/docs/api/java/lang/String.html">String name1;

    private 1.5.0/docs/api/java/lang/String.html">String property1;

    private 1.5.0/docs/api/java/lang/String.html">String name2;

    private 1.5.0/docs/api/java/lang/String.html">String property2;

    private 1.5.0/docs/api/java/lang/String.html">String arg0;

    private 1.5.0/docs/api/java/lang/String.html">String arg1;

    private 1.5.0/docs/api/java/lang/String.html">String arg2;


    public 1.5.0/docs/api/java/lang/String.html">String getArg0() {
        return arg0;
    }

    public void setArg0(1.5.0/docs/api/java/lang/String.html">String arg0) {
        this.arg0 = arg0;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getArg1() {
        return arg1;
    }

    public void setArg1(1.5.0/docs/api/java/lang/String.html">String arg1) {
        this.arg1 = arg1;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getArg2() {
        return arg2;
    }

    public void setArg2(1.5.0/docs/api/java/lang/String.html">String arg2) {
        this.arg2 = arg2;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getPatternMessage() {
        return patternMessage;
    }

    public void setPatternMessage(1.5.0/docs/api/java/lang/String.html">String patternMessage) {
        this.patternMessage = patternMessage;
    }


    public static 1.5.0/docs/api/java/util/logging/Logger.html">Logger getLogger() {
        return logger;
    }

    public static void setLogger(1.5.0/docs/api/java/util/logging/Logger.html">Logger logger) {
        MessagePatternTag.logger = logger;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getName0() {
        return name0;
    }

    public void setName0(1.5.0/docs/api/java/lang/String.html">String name0) {
        this.name0 = name0;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getName1() {
        return name1;
    }

    public void setName1(1.5.0/docs/api/java/lang/String.html">String name1) {
        this.name1 = name1;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getProperty0() {
        return property0;
    }

    public void setProperty0(1.5.0/docs/api/java/lang/String.html">String property0) {
        this.property0 = property0;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getProperty1() {
        return property1;
    }

    public void setProperty1(1.5.0/docs/api/java/lang/String.html">String property1) {
        this.property1 = property1;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getName2() {
        return name2;
    }

    public void setName2(1.5.0/docs/api/java/lang/String.html">String name2) {
        this.name2 = name2;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getProperty2() {
        return property2;
    }

    public void setProperty2(1.5.0/docs/api/java/lang/String.html">String property2) {
        this.property2 = property2;
    }

    /** Creates a new instance of MessagePatternTag */
    public MessagePatternTag() {

    }


    //Set the language of messages for jakarta struts use
    public int doStartTag() throws JspException {

        5+0%2Fdocs%2Fapi+Object">Object value0 = null;
        if(name0 != null)
           value0 = RequestUtils.lookup(pageContext, name0, property0, null);

        5+0%2Fdocs%2Fapi+Object">Object value1 = null;
        if(name1 != null)
            value1 = RequestUtils.lookup(pageContext, name1, property1, null);

        5+0%2Fdocs%2Fapi+Object">Object value2 = null;
        if(name2 != null)
            value2 = RequestUtils.lookup(pageContext, name2, property2, null);

        HttpServletRequest s = (HttpServletRequest) pageContext.getRequest();

        5+0%2Fdocs%2Fapi+List">List objs = new 1.5.0/docs/api/java/util/ArrayList.html">ArrayList();
        if(value0 != null)
            objs.add(value0);
        if(value1 != null)
            objs.add(value1);
        if(value2 != null)
            objs.add(value2);



        1.5.0/docs/api/java/lang/String.html">String messageKey = java.text.1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(patternMessage,objs.toArray());

        JspWriter writer = pageContext.getOut();

        try
        {
            1.5.0/docs/api/java/lang/String.html">String message;
            if(arg0 != null && arg1 != null && arg2 != null)
                message = MessageResources.getMessage((HttpServletRequest) pageContext.getRequest(),messageKey,arg0,arg1,arg2);
            else if(arg0 != null && arg1 != null)
                message = MessageResources.getMessage((HttpServletRequest) pageContext.getRequest(),messageKey,arg0,arg1);
            else if(arg0 != null)
                message = MessageResources.getMessage((HttpServletRequest) pageContext.getRequest(),messageKey,arg0);
            else
                message = MessageResources.getMessage((HttpServletRequest) pageContext.getRequest(),messageKey);
            if(message != null)
                writer.write(message);
            else
                throw new JspException("MessageKey not found: " + messageKey);
        }
        catch(1.5.0/docs/api/java/lang/Exception.html">Exception e)
        {
            logger.error(e,e);
            throw new JspException(e);
        }
        return (SKIP_BODY);
    }
}