uPortal IRC Logs-2013-03-05

[16:03:30 CST(-0600)] <jwennmacher> EricDalquist: uPortal 4.0x is supposed to work on tomcat 7?

[16:03:42 CST(-0600)] <EricDalquist> the latest release is yes

[16:03:45 CST(-0600)] <EricDalquist> so 4.0.10

[16:04:12 CST(-0600)] <jwennmacher> ahh that's right. A change was made to 4.0.10 for TC7.

[16:04:42 CST(-0600)] <EricDalquist> yeah

[16:04:49 CST(-0600)] <EricDalquist> you can find the change in the git history

[16:04:51 CST(-0600)] <EricDalquist> it was non-trivial

[16:14:09 CST(-0600)] <jwennmacher> Hmmm... looks like the code I'm on is based off of 4.0.10.

[16:14:55 CST(-0600)] <EricDalquist> https://github.com/Jasig/uPortal/commit/3ba9ea671c4165266123054aed69aadb9ac62cd9

[16:14:58 CST(-0600)] <jwennmacher> I spent a good chunk of time trying to figure out a problem where I get 'AbstractMethodError' with a not-so-helpful stack trace that was due to uPortal trying to reflectively invoke a Servlet 3.0 method on PortletHttpServletRequestWrapper. It's still happening. Looks like it may be worth more time to figure out the actual issue.

[16:14:59 CST(-0600)] <EricDalquist> that is the change

[16:15:10 CST(-0600)] <jwennmacher> yep I was looking at it

[16:15:14 CST(-0600)] <EricDalquist> huh

[16:15:33 CST(-0600)] <EricDalquist> it shouldn't be trying to reflectively invoke it on the uPortal class

[16:15:42 CST(-0600)] <EricDalquist> it should fall back to the underlying tomcat class

[16:15:48 CST(-0600)] <EricDalquist> granted this was all a giant hack

[16:16:04 CST(-0600)] <EricDalquist> so I'm not terribly surprised that it might not work in all cases

[16:16:18 CST(-0600)] <jwennmacher> I'll dig into it more and see what I come up with. The specific use case is clicking on the 'Rich Configuration' link on the Contacts portlet. Works in TC 6 but fails in TC7.

[16:16:30 CST(-0600)] <EricDalquist> ah

[16:16:33 CST(-0600)] <EricDalquist> heh

[16:16:36 CST(-0600)] <EricDalquist> yeah that would do it

[16:16:42 CST(-0600)] <jwennmacher> why?

[16:16:54 CST(-0600)] <EricDalquist> that introduces another layer of wrapping of the request/response objects

[16:17:06 CST(-0600)] <EricDalquist> that the reflection based wrapper probably isn't aware enough about to deal with

[16:17:11 CST(-0600)] <EricDalquist> when you do rich config you have

[16:17:41 CST(-0600)] <EricDalquist> portal -> portletA (portlet manager) -> portal ->portletB (config mode)

[16:29:15 CST(-0600)] <jwennmacher> So you are thinking CompositeProxyFactory.CompositeProxyInterceptor needs to change to become more aware of that situation?