Java, Ubuntu, ...

Aller au contenu | Aller au menu | Aller à la recherche

mardi 5 février 2008

GWT + Stripes + Hibernate4GWT

L'intégration entre GWT / Stripes / Hibernate4gwt se fait en refactorisant l'article précédent et en injectant HibernateBeanManager vi l'annotation @SpringBean.

public abstract class GWTActionBean extends HibernateRemoteService implements ActionBean {
    private ActionBeanContext context;

    public GWTActionBean() {
        super();
    }

    public ActionBeanContext getContext() {
        return context;
    }

    public void setContext(ActionBeanContext context) {
        this.context = context;
    }

    @Override
    public ServletContext getServletContext() {
        return getContext().getServletContext();
    }

    @DefaultHandler
    public Resolution defaultHandler() throws ServletException {
        return new Resolution() {
            public void execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
                doPost(request, response);
            }
        };
    }

    /**
     * @see net.sf.hibernate4gwt.gwt.HibernateRemoteService#setBeanManager(net.sf.hibernate4gwt.core.HibernateBeanManager)
     */
    @Override
    @SpringBean("hibernateBeanManager")
    public void setBeanManager(HibernateBeanManager manager) {
        super.setBeanManager(manager);
    }

dimanche 9 décembre 2007

GWT + Stripes

L'intégration entre GWT et Stripes passent par RemoteServiceServlet par défaut. Cet article propose une solution simple mais il y a un petit bug. RemoteServiceServlet a besoin du ServletContext, il faut déléguer getServletContext() vers le context Stripes.

public abstract class GWTActionBean extends RemoteServiceServlet implements ActionBean {
    private ActionBeanContext context;

    public GWTActionBean() {
        super();
    }

    /**
     * @see net.sourceforge.stripes.action.ActionBean#getContext()
     */
    public ActionBeanContext getContext() {
        return context;
    }

    /**
     * @see net.sourceforge.stripes.action.ActionBean#setContext(net.sourceforge.stripes.action.ActionBeanContext)
     */
    public void setContext(ActionBeanContext context) {
        this.context = context;
    }

    /**
     * @see javax.servlet.GenericServlet#getServletContext()
     */
    @Override
    public ServletContext getServletContext() {
        return getContext().getServletContext();
    }

    @DefaultHandler
    public Resolution defaultHandler() throws ServletException {
        return new Resolution() {
            public void execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
                doPost(request, response);
            }
        };
    }
}

page 2 de 2 -