[KULRICE-7407] Problems when postedView is null Created: 30/May/12  Updated: 03/Apr/13  Resolved: 06/Jul/12

Status: Closed
Project: Kuali Rice Development
Component/s: Development
Affects Version/s: None
Fix Version/s: 2.2.0-m2, 2.2
Security Level: Public (Public: Anyone can view)

Type: Bug Fix Priority: Critical
Reporter: Jerry Neal (Inactive) Assignee: Jerry Neal (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Cloners
cloned from KULRICE-7208 Template Closed
Relate
is related to KULRICE-7061 Render lookup results by component re... Closed
Similar issues:
KULRICE-8801DialogGroup problems
KULRICE-1821Prevent runtime exception when intermediate properties are null on ObjectUtils.setObjectProperty()
KULRICE-11886Null pointer exception when opening route log in document and search result
KULRICE-7612Update core and location services to not throw exceptions when passed null arguments
KULRICE-757Null constraint violation thrown when importing a Rule Template with default options
KULRICE-4047UIDocumentServiceImpl.getMember() can return null but is not handled
KULRICE-7806UifControllerHandler afterCompletion should check for empty views
KULRICE-6846null Lookup criteria causes sql exception
KULRICE-11949Rework help tooltip logic to prevent problems with lifecycle strictness check
KULRICE-3701Possible problem with LookupResultService.retrieveResultsTable, service needs to support other types of BOs (non persistable, externalizable, etc.
Rice Module:
KRAD
Application Requirement:
KS My Plan
KAI Review Status: Not Required
KTI Review Status: Not Required

 Description   

Some controller/view helpers rely on the posted view to get metadata for an action. This is a problem when the method is not called from a view post (for example lookup search does this and can be called via a get).

Need a better strategy for getting metadata.

Notes from MyPlan Report:

Jerry,

I think it is the method to call

http://localhost:8080/student/myplan/lookup?methodToCall=start&viewId=SavedCoursesSummary-LookupView&skipViewInit=false&renderFullView=false&reqComponentId=watch_list

this works, while

http://localhost:8080/student/myplan/lookup?methodToCall=search&viewId=SavedCoursesSummary-LookupView&skipViewInit=false&renderFullView=false&reqComponentId=watch_list

fails

we used to pass methodToCall on lookup to search by default and it looks like it is expecting it to be start.

On May 25, 6:27 am, "Jerry Neal" <jkneal@indiana.edu> wrote:
> Kamal,
>
> Here is the lookupable it needs to look at the posted view to
> determine what the search fields were and do certain processing of
> those. I am unclear of what the posted view is not there though. Can
> you send the ajax call you are making? In particular I am interested
> in whether you are sending any parameters like skipViewInit.
>
> Thanks,
> Jerry
>
>
>
>
>
>
>
> ----Original Message----
> From: Kamal Muthuswamy kmuthusw@kuali.org
> Sent: Thursday, May 24, 2012 4:07 PM
> To: rice.usergroup.krad@kuali.org
>
> Cc: Jerry Neal; Kamal Muthuswamy
> Subject: [kuali] Re: postedView is Null
>
> java.lang.NullPointerException
> at
> org.kuali.rice.krad.lookup.LookupableImpl.getCriteriaFieldsForValidati
> on(Loo
> kupableImpl.java:
> 443)
> at
> org.kuali.rice.krad.lookup.LookupableImpl.validateSearchParameters(Loo
> kupabl
> eImpl.java:
> 408)
> at
> org.kuali.rice.krad.web.controller.LookupController.search(LookupController.
> java:
> 178)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccess
> orImpl
> .java:
> 25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.springframework.web.bind.annotation.support.HandlerMethodInvoker.i
> nvokeH
> andlerMethod(HandlerMethodInvoker.java:
> 176)
> at
> org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandler
> Adapte
> r.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:
> 436)
> at
> org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandler
> Adapte
> r.handle(AnnotationMethodHandlerAdapter.java:
> 424)
> at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> rServl
> et.java:
> 900)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> Servle
> t.java:
> 827)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> orkSer
> vlet.java:
> 882)
> at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServl
> et.jav
> a:
> 789)
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> at
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> 534)
> at org.eclipse.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1352)
> at
> org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:
> 89)
> at
> org.kuali.rice.kew.web.UserLoginFilter.doFilter(UserLoginFilter.java:
> 77)
> at org.eclipse.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1323)
> at
> org.kuali.rice.krad.web.filter.HideWebInfFilter.doFilter(HideWebInfFil
> ter.ja
> va:
> 69)
> at org.eclipse.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1323)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:311)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.
> invoke(FilterSecurityInterceptor.java:
> 116)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.
> doFilter(FilterSecurityInterceptor.java:
> 83)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:323)
> at
> org.springframework.security.web.access.ExceptionTranslationFilter.doF
> ilter(
> ExceptionTranslationFilter.java:
> 113)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:323)
> at
> org.springframework.security.web.session.SessionManagementFilter.doFil
> ter(Se
> ssionManagementFilter.java:
> 101)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:323)
> at
> org.springframework.security.web.authentication.AnonymousAuthenticatio
> nFilte
> r.doFilter(AnonymousAuthenticationFilter.java:
> 113)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:323)
> at
> org.springframework.security.web.servletapi.SecurityContextHolderAware
> Reques
> tFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:
> 54)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:323)
> at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.
> doFilt
> er(RequestCacheAwareFilter.java:
> 45)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:323)
> at
> org.springframework.security.web.authentication.AbstractAuthentication
> Proces
> singFilter.doFilter(AbstractAuthenticationProcessingFilter.java:
> 182)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:323)
> at
> org.kuali.student.security.filter.AuthenticationGwtRpcFilter.doFilterH
> ttp(Au
> thenticationGwtRpcFilter.java:
> 58)
> at
> org.kuali.student.security.filter.AuthenticationGwtRpcFilter.doFilter(
> Authen
> ticationGwtRpcFilter.java:
> 41)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:323)
> at
> org.kuali.student.security.filter.KSLogoutFilter.doFilterHttp(KSLogout
> Filter
> .java:
> 99)
> at
> org.kuali.student.security.filter.KSLogoutFilter.doFilter(KSLogoutFilt
> er.jav
> a:
> 71)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:323)
> at
> org.springframework.security.web.context.SecurityContextPersistenceFil
> ter.do
> Filter(SecurityContextPersistenceFilter.java:
> 87)
> at org.springframework.security.web.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:323)
> at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.
> java:
> 173)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(De
> legati
> ngFilterProxy.java:
> 346)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegati
> ngFilt
> erProxy.java:
> 259)
> at org.eclipse.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1323)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:
> 474)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:
> 119)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:
> 517)
> at
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandle
> r.java
> :
> 226)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandle
> r.java
> :
> 934)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
> 404)
> at
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:
> 184)
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:
> 869)
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:
> 117)
> at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(Conte
> xtHand
> lerCollection.java:
> 247)
> at
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.
> java:
> 151)
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:
> 116)
> at org.eclipse.jetty.server.Server.handle(Server.java:346)
> at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:
> 581)
> at org.eclipse.jetty.server.HttpConnection
> $RequestHandler.content(HttpConnection.java:1057)
> at
> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:807)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:
> 220)
> at
> org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:
> 411)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.
> java:
> 526)
> at org.eclipse.jetty.io.nio.SelectChannelEndPoint
> $1.run(SelectChannelEndPoint.java:41)
> at org.eclipse.jetty.util.thread.QueuedThreadPool
> $3.run(QueuedThreadPool.java:528)
> at java.lang.Thread.run(Thread.java:662)
>
> On May 24, 1:02 pm, "Jerry Neal" <jkneal@indiana.edu> wrote:
> > Kamal,



 Comments   
Comment by Jessica Coltrin (Inactive) [ 21/Jun/12 ]

critical issue, but not a blocker for My Plan.

Comment by Jerry Neal (Inactive) [ 06/Jul/12 ]

Put in handling for null posted view in lookup. To resolve the bigger problem of not having the posted view (for example component refreshes) will take a bigger effort. We will be doing analysis on this and moving forward in upcoming releases.

Generated at Mon Mar 30 11:53:02 CDT 2020 using JIRA 6.1.5#6160-sha1:a61a0fc278117a0da0ec9b89167b8f29b6afdab2.