java.lang.IllegalArgumentException: PersistentEntity must not be null!

Spring JIRA | Thomas Darimont | 2 years ago
  1. 0

    Currently we don't support {{GeoPage}} as a result type for finder- methods with Spring Data Rest Repositories. I stumbled upon this while writing a simple Web Front-end for the starbucks spring-data-examples app. If I change the return type of {{StoreRepository.findByAddressLocationNear}} from {{Page<Store>}} to {{GeoPage<Store>}} and issue a query via curl, I get the following error message: {code} {"cause":null,"message":"PersistentEntity must not be null!"} {code} {code:java} Page<Store> findByAddressLocationNear(// @Param("location") Point location, @Param("distance") Distance distance, Pageable pageable); {code} Steps to reproduce: 1) Run the starbucks example app 2) Perfom a get request to get stores near timesquare via curl {code} curl http://localhost:8080/stores/search/findByAddressLocationNear\?location\=40.740337%2C-73.995146\&distance\=0.5miles\&page\=0\&size\=100 {code} On the server one should see the following stacktrace: {code} java.lang.IllegalArgumentException: PersistentEntity must not be null! at org.springframework.util.Assert.notNull(Assert.java:112) at org.springframework.data.rest.webmvc.PersistentEntityResource$Builder.<init>(PersistentEntityResource.java:155) at org.springframework.data.rest.webmvc.PersistentEntityResource$Builder.<init>(PersistentEntityResource.java:137) at org.springframework.data.rest.webmvc.PersistentEntityResource.build(PersistentEntityResource.java:129) at org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.wrap(PersistentEntityResourceAssembler.java:105) at org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.toResource(PersistentEntityResourceAssembler.java:84) at org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.toResource(PersistentEntityResourceAssembler.java:45) at org.springframework.data.web.PagedResourcesAssembler.createResource(PagedResourcesAssembler.java:137) at org.springframework.data.web.PagedResourcesAssembler.toResource(PagedResourcesAssembler.java:96) at org.springframework.data.rest.webmvc.AbstractRepositoryRestController.entitiesToResources(AbstractRepositoryRestController.java:228) at org.springframework.data.rest.webmvc.AbstractRepositoryRestController.resultToResources(AbstractRepositoryRestController.java:215) at org.springframework.data.rest.webmvc.RepositorySearchController.executeQueryMethod(RepositorySearchController.java:291) at org.springframework.data.rest.webmvc.RepositorySearchController.executeSearch(RepositorySearchController.java:175) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) at javax.servlet.http.HttpServlet.service(HttpServlet.java:618) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:744) {code} The problem is that a {{GeoPage}} wraps the actual result within a {{GeoResult}} which crashes in {{org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler#wrap}} since {{source.getClass()}} is now a {{GeoResult}} instead of the actual entity type ({{Store}} in this case). A quick hack for testing was to change the {{wrap(...)}} method to handle the special case of a {{GeoResult}}, which leads to the expected result. {code} private Builder wrap(Object instance, Object source) { Object element = source; if(element instanceof GeoResult){ element = ((GeoResult)source).getContent(); } PersistentEntity<?, ?> entity = repositories.getPersistentEntity(element.getClass()); return PersistentEntityResource.build(instance, entity).// withEmbedded(getEmbeddedResources(element)).// withLink(getSelfLinkFor(element)); } {code} Yields: {code:json} { "_links" : { "self" : { "href" : "http://localhost:8080/stores/search/findByAddressLocationNear?location=40.740337%2C-73.995146&distance=0.5miles&page=0&size=100{&sort}", "templated" : true } }, "_embedded" : { "geoResults" : [ { "content" : { "name" : "22nd St. & Sixth Ave.", "address" : { "street" : "684 Avenue of the Americas", "city" : "New York", "zip" : "10010-5110", "location" : { "x" : -73.993237, "y" : 40.741844 } } }, "distance" : { "value" : 0.14448373542533344, "metric" : "MILES" }, "_links" : { "self" : { "href" : "http://localhost:8080/stores/54b63d2dd4c669674288254a" } } }, ... } ] }, "page" : { "size" : 100, "totalElements" : 19, "totalPages" : 1, "number" : 0 } } {code}

    Spring JIRA | 2 years ago | Thomas Darimont
    java.lang.IllegalArgumentException: PersistentEntity must not be null!
  2. 0

    Currently we don't support {{GeoPage}} as a result type for finder- methods with Spring Data Rest Repositories. I stumbled upon this while writing a simple Web Front-end for the starbucks spring-data-examples app. If I change the return type of {{StoreRepository.findByAddressLocationNear}} from {{Page<Store>}} to {{GeoPage<Store>}} and issue a query via curl, I get the following error message: {code} {"cause":null,"message":"PersistentEntity must not be null!"} {code} {code:java} Page<Store> findByAddressLocationNear(// @Param("location") Point location, @Param("distance") Distance distance, Pageable pageable); {code} Steps to reproduce: 1) Run the starbucks example app 2) Perfom a get request to get stores near timesquare via curl {code} curl http://localhost:8080/stores/search/findByAddressLocationNear\?location\=40.740337%2C-73.995146\&distance\=0.5miles\&page\=0\&size\=100 {code} On the server one should see the following stacktrace: {code} java.lang.IllegalArgumentException: PersistentEntity must not be null! at org.springframework.util.Assert.notNull(Assert.java:112) at org.springframework.data.rest.webmvc.PersistentEntityResource$Builder.<init>(PersistentEntityResource.java:155) at org.springframework.data.rest.webmvc.PersistentEntityResource$Builder.<init>(PersistentEntityResource.java:137) at org.springframework.data.rest.webmvc.PersistentEntityResource.build(PersistentEntityResource.java:129) at org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.wrap(PersistentEntityResourceAssembler.java:105) at org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.toResource(PersistentEntityResourceAssembler.java:84) at org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.toResource(PersistentEntityResourceAssembler.java:45) at org.springframework.data.web.PagedResourcesAssembler.createResource(PagedResourcesAssembler.java:137) at org.springframework.data.web.PagedResourcesAssembler.toResource(PagedResourcesAssembler.java:96) at org.springframework.data.rest.webmvc.AbstractRepositoryRestController.entitiesToResources(AbstractRepositoryRestController.java:228) at org.springframework.data.rest.webmvc.AbstractRepositoryRestController.resultToResources(AbstractRepositoryRestController.java:215) at org.springframework.data.rest.webmvc.RepositorySearchController.executeQueryMethod(RepositorySearchController.java:291) at org.springframework.data.rest.webmvc.RepositorySearchController.executeSearch(RepositorySearchController.java:175) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857) at javax.servlet.http.HttpServlet.service(HttpServlet.java:618) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:744) {code} The problem is that a {{GeoPage}} wraps the actual result within a {{GeoResult}} which crashes in {{org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler#wrap}} since {{source.getClass()}} is now a {{GeoResult}} instead of the actual entity type ({{Store}} in this case). A quick hack for testing was to change the {{wrap(...)}} method to handle the special case of a {{GeoResult}}, which leads to the expected result. {code} private Builder wrap(Object instance, Object source) { Object element = source; if(element instanceof GeoResult){ element = ((GeoResult)source).getContent(); } PersistentEntity<?, ?> entity = repositories.getPersistentEntity(element.getClass()); return PersistentEntityResource.build(instance, entity).// withEmbedded(getEmbeddedResources(element)).// withLink(getSelfLinkFor(element)); } {code} Yields: {code:json} { "_links" : { "self" : { "href" : "http://localhost:8080/stores/search/findByAddressLocationNear?location=40.740337%2C-73.995146&distance=0.5miles&page=0&size=100{&sort}", "templated" : true } }, "_embedded" : { "geoResults" : [ { "content" : { "name" : "22nd St. & Sixth Ave.", "address" : { "street" : "684 Avenue of the Americas", "city" : "New York", "zip" : "10010-5110", "location" : { "x" : -73.993237, "y" : 40.741844 } } }, "distance" : { "value" : 0.14448373542533344, "metric" : "MILES" }, "_links" : { "self" : { "href" : "http://localhost:8080/stores/54b63d2dd4c669674288254a" } } }, ... } ] }, "page" : { "size" : 100, "totalElements" : 19, "totalPages" : 1, "number" : 0 } } {code}

    Spring JIRA | 2 years ago | Thomas Darimont
    java.lang.IllegalArgumentException: PersistentEntity must not be null!
  3. 0

    After migrating Spring Data application from Gosling-SR4 to Hopper-SR1 release, all custom queries that extends JpaRepository throws the following message: {code:java} Caused by: java.lang.IllegalStateException: No aliases found in result tuple! Make sure your query defines aliases! at org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter.convert(AbstractJpaQuery.java:246) [spring-data-jpa-1.10.1.RELEASE.jar:] at org.springframework.data.repository.query.ResultProcessor$ChainingConverter.convert(ResultProcessor.java:185) [spring-data-commons-1.12.1.RELEASE.jar:] at org.springframework.data.repository.query.ResultProcessor$ChainingConverter$1.convert(ResultProcessor.java:173) [spring-data-commons-1.12.1.RELEASE.jar:] at org.springframework.data.repository.query.ResultProcessor$ChainingConverter.convert(ResultProcessor.java:185) [spring-data-commons-1.12.1.RELEASE.jar:] at org.springframework.data.repository.query.ResultProcessor.processResult(ResultProcessor.java:142) [spring-data-commons-1.12.1.RELEASE.jar:] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:107) [spring-data-jpa-1.10.1.RELEASE.jar:] at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:92) [spring-data-jpa-1.10.1.RELEASE.jar:] at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:482) [spring-data-commons-1.12.1.RELEASE.jar:] at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:460) [spring-data-commons-1.12.1.RELEASE.jar:] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) [spring-tx-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) [spring-tx-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) [spring-tx-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.2.5.RELEASE.jar:4.2.5.RELEASE] at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) [spring-tx-4.2.5.RELEASE.jar:4.2.5.RELEASE] ... 113 more {code} {code:java} public interface UserProfileAccessGroupRepository extends JpaRepository<UserProfileAccessGroup, UserProfileAccessGroupPK> { @Modifying @Query("DELETE FROM UserProfileAccessGroup upag WHERE upag.id.accessGroup = ?1") public void deleteByAccessGroup(AccessGroup accessGroup); @Modifying @Query("DELETE FROM UserProfileAccessGroup upag WHERE upag.id.userProfile = ?1") public void deleteByUserProfile(UserProfile userProfile); @Query("SELECT upag.id.accessGroup FROM UserProfileAccessGroup upag WHERE upag.id.userProfile = ?1") public List<AccessGroup> findAccessGroupByUserProfile(UserProfile userProfile); @Query("SELECT upag.id.accessGroup FROM UserProfileAccessGroup upag WHERE upag.id.userProfile = ?1 AND upag.id.accessGroup.functionality = false") public List<AccessGroup> findGroupByUserProfile(UserProfile userProfile); public List<UserProfileAccessGroup> findByExpirationDateBefore(Date date); } {code} {code:java} @Entity public class UserProfileAccessGroup implements Serializable { private static final long serialVersionUID = 1L; @EmbeddedId private UserProfileAccessGroupPK id; private Date expirationDate; @ManyToOne @JoinColumn(name = "authorizedBy") private UserProfile authorizedBy; public UserProfileAccessGroupPK getId() { if (id == null) { id = new UserProfileAccessGroupPK(); } return id; } public void setId(UserProfileAccessGroupPK id) { this.id = id; } public Date getExpirationDate() { return expirationDate; } public void setExpirationDate(Date expirationDate) { this.expirationDate = expirationDate; } public UserProfile getAuthorizedBy() { return authorizedBy; } public void setAuthorizedBy(UserProfile authorizedBy) { this.authorizedBy = authorizedBy; } @Embeddable public static class UserProfileAccessGroupPK implements Serializable { private static final long serialVersionUID = 1L; @ManyToOne @JoinColumn(name = "accessGroupId") private AccessGroup accessGroup; @ManyToOne @JoinColumn(name = "userProfileId") private UserProfile userProfile; public UserProfileAccessGroupPK() { } public UserProfileAccessGroupPK(AccessGroup accessGroup, UserProfile userProfile) { this.accessGroup = accessGroup; this.userProfile = userProfile; } public AccessGroup getAccessGroup() { return accessGroup; } public void setAccessGroup(AccessGroup accessGroup) { this.accessGroup = accessGroup; } public UserProfile getUserProfile() { return userProfile; } public void setUserProfile(UserProfile userProfile) { this.userProfile = userProfile; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((accessGroup == null) ? 0 : accessGroup.hashCode()); result = prime * result + ((userProfile == null) ? 0 : userProfile.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; UserProfileAccessGroupPK other = (UserProfileAccessGroupPK) obj; if (accessGroup == null) { if (other.accessGroup != null) return false; } else if (!accessGroup.equals(other.accessGroup)) return false; if (userProfile == null) { if (other.userProfile != null) return false; } else if (!userProfile.equals(other.userProfile)) return false; return true; } } } {code}

    Spring JIRA | 8 months ago | ofbiz
    java.lang.IllegalArgumentException: PersistentEntity must not be null!
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    GitHub comment 373#180550194

    GitHub | 1 year ago | spring-issuemaster
    java.lang.reflect.InvocationTargetException
Not finding the right solution?
Take a tour to get the most out of Samebug.

Tired of useless tips?

Automated exception search integrated into your IDE

Root Cause Analysis

  1. java.lang.IllegalArgumentException

    PersistentEntity must not be null!

    at org.springframework.util.Assert.notNull()
  2. Spring Core
    Assert.notNull
    1. org.springframework.util.Assert.notNull(Assert.java:112)
    1 frame
  3. Spring Data REST - WebMVC
    PersistentEntityResourceAssembler.toResource
    1. org.springframework.data.rest.webmvc.PersistentEntityResource$Builder.<init>(PersistentEntityResource.java:155)
    2. org.springframework.data.rest.webmvc.PersistentEntityResource$Builder.<init>(PersistentEntityResource.java:137)
    3. org.springframework.data.rest.webmvc.PersistentEntityResource.build(PersistentEntityResource.java:129)
    4. org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.wrap(PersistentEntityResourceAssembler.java:105)
    5. org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.toResource(PersistentEntityResourceAssembler.java:84)
    6. org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler.toResource(PersistentEntityResourceAssembler.java:45)
    6 frames
  4. Spring Data Core
    PagedResourcesAssembler.toResource
    1. org.springframework.data.web.PagedResourcesAssembler.createResource(PagedResourcesAssembler.java:137)
    2. org.springframework.data.web.PagedResourcesAssembler.toResource(PagedResourcesAssembler.java:96)
    2 frames
  5. Spring Data REST - WebMVC
    RepositorySearchController.executeSearch
    1. org.springframework.data.rest.webmvc.AbstractRepositoryRestController.entitiesToResources(AbstractRepositoryRestController.java:228)
    2. org.springframework.data.rest.webmvc.AbstractRepositoryRestController.resultToResources(AbstractRepositoryRestController.java:215)
    3. org.springframework.data.rest.webmvc.RepositorySearchController.executeQueryMethod(RepositorySearchController.java:291)
    4. org.springframework.data.rest.webmvc.RepositorySearchController.executeSearch(RepositorySearchController.java:175)
    4 frames
  6. Java RT
    Method.invoke
    1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    4. java.lang.reflect.Method.invoke(Method.java:483)
    4 frames
  7. Spring
    InvocableHandlerMethod.invokeForRequest
    1. org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
    2. org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
    2 frames
  8. Spring MVC
    FrameworkServlet.doGet
    1. org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    2. org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777)
    3. org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706)
    4. org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    5. org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
    6. org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
    7. org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
    8. org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
    8 frames
  9. JavaServlet
    HttpServlet.service
    1. javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
    1 frame
  10. Spring MVC
    FrameworkServlet.service
    1. org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
    1 frame
  11. JavaServlet
    HttpServlet.service
    1. javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    1 frame
  12. Glassfish Core
    ApplicationFilterChain.doFilter
    1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    2 frames
  13. Spring
    OncePerRequestFilter.doFilter
    1. org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    2. org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    2 frames
  14. Glassfish Core
    ApplicationFilterChain.doFilter
    1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    2 frames
  15. Spring
    OncePerRequestFilter.doFilter
    1. org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
    2. org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    2 frames
  16. Glassfish Core
    CoyoteAdapter.service
    1. org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    2. org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    3. org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    4. org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    5. org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    6. org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
    7. org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    8. org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    9. org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
    9 frames
  17. Grizzly HTTP
    NioEndpoint$SocketProcessor.run
    1. org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085)
    2. org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
    3. org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    4. org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1556)
    5. org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1513)
    5 frames
  18. Java RT
    ThreadPoolExecutor$Worker.run
    1. java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    2. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    2 frames
  19. Tomcat Util
    TaskThread$WrappingRunnable.run
    1. org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    1 frame
  20. Java RT
    Thread.run
    1. java.lang.Thread.run(Thread.java:744)
    1 frame