You could instead use a OpenSessionInViewFilter (which you can blatently copy from Spring) that opens a hibernate session for you and you can use that in both your wicket app and legacy app.
Martijn On 12/22/06, ChuckDeal <[EMAIL PROTECTED]> wrote: > > I have a legacy app that I am replacing with Wicket. It has to be done over > time, so I can't do a wholesale rewrite of the app. I have Wicket as the > "main" framework and my legacy, homemade framework will be the secondary. > The few Wicket/Databinder pages that I have work pretty well. My legacy > pages are data-oriented as well and I was planning on a partial rewrite of > the legacy data tier to use Hibernate instead of pure JDBC. > > My problem comes in when I try and access the Hibernate Session from my > legacy data-tier. I call DataStaticService.getHibernateSession();, but I > get this exception: > > [code] > org.hibernate.HibernateException: No session currently bound to execution > context > at > org.hibernate.context.ManagedSessionContext.currentSession(ManagedSessionContext.java:50) > at > org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:542) > at > net.databinder.DataStaticService.getHibernateSession(DataStaticService.java:45) > [/code] > > I know on the surface this looks like a Datbinder question, but I think it > may be deeper than that. I believe I am getting this because the > WicketFilter (and therefore the RequestCycle processing) isn't happening for > my legacy pages. So I thought that I could write my own filter that would > attempt to do the RequestCycle stuff, but I'm afraid it is currently a > little overwhelming. Before I really dig in, does that seem to be a good > approach? I am thinking that if I can use Wicket to somehow process the > requests of my legacy app I can get the benefits of Wicket without having to > rewrite everything upfront. > > When I made my first attempt at my own filter, it literally was a capture of > the WicketFilter doGet method (with some minor mods. > > public void doFilter(ServletRequest servletRequest, ServletResponse > servletResponse, > FilterChain chain) throws IOException, ServletException { > HttpServletRequest httpServletRequest = (HttpServletRequest) > servletRequest; > HttpServletResponse httpServletResponse = (HttpServletResponse) > servletResponse; > > String url = httpServletRequest.getRequestURI(); > if (url.contains(".jsp")) { > log.info("AIMSFilter.doFilter(): " + url); > > final WebApplication webApplication = (WebApplication) > Application.get("aimsWicket"); > > // Create a new webrequest > final WebRequest request = > webApplication.newWebRequest(httpServletRequest); > > // First, set the webapplication for this thread > Application.set(webApplication); > > // Get session for request > final WebSession session = webApplication.getSession(request); > > RequestCycle cycle = RequestCycle.get(); > if (cycle == null) { > // Create a response object and set the output encoding > according to > // wicket's application setttings. > final WebResponse response = > webApplication.newWebResponse(httpServletResponse); > response.setAjax(request.isAjax()); > > response.setCharacterEncoding(webApplication.getRequestCycleSettings().getResponseRequestEncoding()); > > try { > cycle = session.newRequestCycle(request, response); > try { > // Process request > cycle.request(); > } > catch (AbortException e) { > // noop > } > } > finally { > // Close response > response.close(); > > // Clean up thread local session > Session.unset(); > > // Clean up thread local application > Application.unset(); > } > } > } > > chain.doFilter(servletRequest, servletResponse); > } > > What ended up happening was the MainPage/getHomePage() class was included in > the response. I'm not comepletely sure that that description is accurate > because I don't have a lot of scenarios to test for proof, but that is what > I see on the screen and that was the pageClass that I saw in > DefaultResponseStrategy.respond on the requestCycle.getRequestTarget(). > > Ultimately, I want to be able to do similar processing that takes place for > Wicket Pages when I request one of my legacy pages. Where should I even > start? > > Thanks! > Chuck > -- > View this message in context: > http://www.nabble.com/Legacy-apps-tf2871064.html#a8024672 > Sent from the Wicket - User mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Wicket-user mailing list > Wicket-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wicket-user > -- Vote for Wicket at the http://www.thebeststuffintheworld.com/vote_for/wicket Wicket 1.2.3 is as easy as 1-2-3. Download Wicket now! http://wicketframework.org ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user