Subversion Repositories bacoAlunos

Rev

Rev 1306 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.web.tags;

import jomm.utils.MessageResources;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.views.CourseUnitView;
import pt.estgp.estgweb.web.exceptions.NoCookiesException;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.utl.ist.berserk.logic.filterManager.exceptions.*;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

public class Object2RequestTag extends TagSupport
{

    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(Object2RequestTag.class);

    private 1.5.0/docs/api/java/lang/String.html">String beanIdName;
    private 1.5.0/docs/api/java/lang/String.html">String beanIdProperty;
    private 1.5.0/docs/api/java/lang/String.html">String classname;
    private 1.5.0/docs/api/java/lang/String.html">String useBean;

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

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

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

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

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

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

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

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

    public int doStartTag() throws JspException
    {
        HttpServletRequest hrequest = (HttpServletRequest) pageContext.getRequest();
        HttpServletResponse hresponse = (HttpServletResponse) pageContext.getResponse();
        5+0%2Fdocs%2Fapi+Object">Object bean = null;
        try{
        if(beanIdName != null)
            bean = org.apache.struts.util.RequestUtils.lookup(pageContext, beanIdName, beanIdProperty, null);
        }catch(JspException e)
        {

        }
        1.5.0/docs/api/java/lang/Long.html">Long id;
        if(bean == null)
            bean = hrequest.getParameter(beanIdName);
        if(bean == null)
        {
            logger.error("Cant find " + beanIdName + " in any scope neither in paramenters");
            return (SKIP_BODY);
        }
        if(bean instanceof 1.5.0/docs/api/java/lang/String.html">String)
            id = 1.5.0/docs/api/java/lang/Long.html">Long.parseLong((1.5.0/docs/api/java/lang/String.html">String)bean);
        else
            id = (1.5.0/docs/api/java/lang/Long.html">Long) bean;



        try {

            IServiceManager sm = ServiceManager.getInstance();
            1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{};
            5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{classname, id};

            5+0%2Fdocs%2Fapi+Object">Object loaded = sm.execute(RequestUtils.getRequester(hrequest, hresponse), "LoadObjectService", args, names);

            hrequest.setAttribute(useBean,loaded);

        } catch (FilterRetrieveException e) {
            e.printStackTrace();
        } catch (InvalidFilterExpressionException e) {
            e.printStackTrace();
        } catch (InvalidFilterException e) {
            e.printStackTrace();
        } catch (ClassNotIFilterException e) {
            e.printStackTrace();
        } catch (IncompatibleFilterException e) {
            e.printStackTrace();
        } catch (ServiceManagerException e) {
            e.printStackTrace();
        } catch (NoCookiesException e) {
            e.printStackTrace();
        } catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable throwable) {
            throwable.printStackTrace();
        }

        //JspWriter writer = pageContext.getOut();

        return (SKIP_BODY);
    }
}