David and Tomer, thanks for making this contribution. Ivan, thank you for reviewing and Awasum thank you for merging.
A great all around community effort! Ed On Wed, Feb 5, 2020, 22:48 Ivan Bondarenko <[email protected]> wrote: > Hi David. > > It looks fine. > Thank you for PR. > > Guys, could you merge these changes to develop? > > Thanks, > Ivan > > ср, 5 февр. 2020 г. в 11:55, David Yahalomi <[email protected]>: > >> Hey Ivan, >> >> The PR opened by Tomer is ready: >> https://github.com/apache/fineract/pull/711. >> >> Thanks ahead, >> >> David Yahalomi >> Co-Founder >> >> Rothschild Blvd 3, Tel Aviv-Yafo, Israel >> mobile: + 972 52 817 9787 >> email: [email protected] >> <https://articode.co> >> >> ᐧ >> >> On Thu, Jan 30, 2020 at 3:17 PM David Yahalomi <[email protected]> wrote: >> >>> Thanks Ivan! >>> It worked great! >>> >>> Tomer, my teammate will PR asap. >>> >>> Best, >>> David Yahalomi >>> Co-Founder >>> >>> Rothschild Blvd 3, Tel Aviv-Yafo, Israel >>> mobile: + 972 52 817 9787 >>> email: [email protected] >>> <https://articode.co> >>> >>> ᐧ >>> >>> On Thu, Jan 30, 2020 at 10:52 AM Ivan Bondarenko <[email protected]> >>> wrote: >>> >>>> Hi David! >>>> >>>> You need to make AbstractPersistableCustom Serializable. >>>> >>>> In other words: >>>> >>>> ... AbstractPersistableCustom implements Serializable ... >>>> >>>> And run with clean DB. >>>> >>>> The issue is in AppUser desiarilization I gess . >>>> >>>> If it works, create PR, please. >>>> >>>> Ivan >>>> >>>> >>>> >>>> чт, 30 янв. 2020 г. в 10:42, David Yahalomi <[email protected]>: >>>> >>>>> Hey Ivan, >>>>> >>>>> Thanks for replying! >>>>> We've used the oauth option. >>>>> >>>>> The stacktrace as printed in catalina.out: >>>>> >>>>> at >>>>> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:371) >>>>> at >>>>> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:128) >>>>> at >>>>> org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:528) >>>>> at >>>>> org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) >>>>> at >>>>> org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) >>>>> at >>>>> org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:144) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$ExposeRepositoryInvocationInterceptor.invoke(CrudMethodMetadataPostProcessor.java:364) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:93) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:61) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) >>>>> at org.apache.fineract.portfolio.client.domain.$Proxy239.save(Unknown >>>>> Source) >>>>> at >>>>> org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper.save(ClientRepositoryWrapper.java:67) >>>>> at >>>>> org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper$$FastClassBySpringCGLIB$$a54487b3.invoke(<generated>) >>>>> at >>>>> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) >>>>> at >>>>> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) >>>>> at >>>>> org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper$$EnhancerBySpringCGLIB$$eb415882.save(<generated>) >>>>> at >>>>> org.apache.fineract.portfolio.client.service.ClientWritePlatformServiceJpaRepositoryImpl.createClient(ClientWritePlatformServiceJpaRepositoryImpl.java:306) >>>>> at >>>>> org.apache.fineract.portfolio.client.service.ClientWritePlatformServiceJpaRepositoryImpl$$FastClassBySpringCGLIB$$71ca1b7f.invoke(<generated>) >>>>> at >>>>> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) >>>>> at >>>>> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:750) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) >>>>> at >>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295) >>>>> at >>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) >>>>> at >>>>> org.apache.fineract.portfolio.client.service.ClientWritePlatformServiceJpaRepositoryImpl$$EnhancerBySpringCGLIB$$bb56d366.createClient(<generated>) >>>>> at >>>>> org.apache.fineract.portfolio.client.handler.CreateClientCommandHandler.processCommand(CreateClientCommandHandler.java:45) >>>>> at >>>>> org.apache.fineract.portfolio.client.handler.CreateClientCommandHandler$$FastClassBySpringCGLIB$$6bce1ca9.invoke(<generated>) >>>>> at >>>>> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) >>>>> at >>>>> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:750) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) >>>>> at >>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295) >>>>> at >>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) >>>>> at >>>>> org.apache.fineract.portfolio.client.handler.CreateClientCommandHandler$$EnhancerBySpringCGLIB$$deefe124.processCommand(<generated>) >>>>> at >>>>> org.apache.fineract.commands.service.SynchronousCommandProcessingService.processAndLogCommand(SynchronousCommandProcessingService.java:83) >>>>> at >>>>> org.apache.fineract.commands.service.SynchronousCommandProcessingService$$FastClassBySpringCGLIB$$ec92d53f.invoke(<generated>) >>>>> at >>>>> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) >>>>> at >>>>> org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:750) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) >>>>> at >>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295) >>>>> at >>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) >>>>> at >>>>> org.apache.fineract.commands.service.SynchronousCommandProcessingService$$EnhancerBySpringCGLIB$$431318a6.processAndLogCommand(<generated>) >>>>> at >>>>> org.apache.fineract.commands.service.PortfolioCommandSourceWritePlatformServiceImpl.logCommandSource(PortfolioCommandSourceWritePlatformServiceImpl.java:98) >>>>> at >>>>> org.apache.fineract.commands.service.PortfolioCommandSourceWritePlatformServiceImpl$$FastClassBySpringCGLIB$$31c15082.invoke(<generated>) >>>>> at >>>>> org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) >>>>> at >>>>> org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:685) >>>>> at >>>>> org.apache.fineract.commands.service.PortfolioCommandSourceWritePlatformServiceImpl$$EnhancerBySpringCGLIB$$9bb82c4f.logCommandSource(<generated>) >>>>> at >>>>> org.apache.fineract.portfolio.client.api.ClientsApiResource.create(ClientsApiResource.java:223) >>>>> 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:498) >>>>> at >>>>> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) >>>>> at >>>>> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) >>>>> at >>>>> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) >>>>> at >>>>> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) >>>>> at >>>>> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108) >>>>> at >>>>> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) >>>>> at >>>>> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) >>>>> at >>>>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511) >>>>> at >>>>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442) >>>>> at >>>>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391) >>>>> at >>>>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381) >>>>> at >>>>> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) >>>>> at >>>>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) >>>>> at >>>>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) >>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116) >>>>> at >>>>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116) >>>>> at >>>>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) >>>>> at >>>>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116) >>>>> at >>>>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.apache.fineract.infrastructure.security.filter.InsecureTwoFactorAuthenticationFilter.doFilter(InsecureTwoFactorAuthenticationFilter.java:80) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:157) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.apache.fineract.infrastructure.security.filter.TenantAwareTenantIdentifierFilter.doFilter(TenantAwareTenantIdentifierFilter.java:146) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.apache.fineract.infrastructure.security.filter.TenantAwareTenantIdentifierFilter.doFilter(TenantAwareTenantIdentifierFilter.java:146) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:88) >>>>> at >>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) >>>>> at >>>>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) >>>>> at >>>>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.apache.fineract.infrastructure.security.filter.InsecureTwoFactorAuthenticationFilter.doFilter(InsecureTwoFactorAuthenticationFilter.java:80) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:74) >>>>> at >>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) >>>>> at >>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:157) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.apache.fineract.infrastructure.security.filter.TenantAwareTenantIdentifierFilter.doFilter(TenantAwareTenantIdentifierFilter.java:146) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) >>>>> at >>>>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) >>>>> at >>>>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) >>>>> at >>>>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128) >>>>> at >>>>> org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66) >>>>> at >>>>> org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103) >>>>> at >>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) >>>>> at >>>>> org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:114) >>>>> at >>>>> org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:104) >>>>> at >>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) >>>>> at >>>>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >>>>> at >>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >>>>> at >>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) >>>>> at >>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) >>>>> at >>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) >>>>> at >>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) >>>>> at >>>>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) >>>>> at >>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) >>>>> at >>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) >>>>> at >>>>> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115) >>>>> at >>>>> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) >>>>> at >>>>> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) >>>>> at >>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) >>>>> at >>>>> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) >>>>> at java.lang.Thread.run(Thread.java:748) >>>>> Caused by: org.apache.openjpa.persistence.InvalidStateException: >>>>> Encountered unmanaged object >>>>> "org.apache.fineract.useradministration.domain.AppUser@6449368b" in >>>>> life cycle state unmanaged while cascading persistence via field >>>>> "org.apache.fineract.portfolio.client.domain.Client.submittedBy" during >>>>> flush. However, this field does not allow cascade persist. You cannot >>>>> flush unmanaged objects or graphs that have persistent associations to >>>>> unmanaged objects. >>>>> Suggested actions: a) Set the cascade attribute for this field to >>>>> CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or "persist" or >>>>> "all" (JPA orm.xml), >>>>> b) enable cascade-persist globally, >>>>> c) manually persist the related field value prior to flushing. >>>>> d) if the reference belongs to another context, allow reference to it >>>>> by setting StoreContext.setAllowReferenceToSiblingContext(). >>>>> at >>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:789) >>>>> at >>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:624) >>>>> at >>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:592) >>>>> at >>>>> org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:513) >>>>> at >>>>> org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3189) >>>>> at org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44) >>>>> at >>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1111) >>>>> at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2239) >>>>> at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2199) >>>>> at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1962) >>>>> at >>>>> org.apache.openjpa.kernel.StateManagerImpl.assignObjectId(StateManagerImpl.java:618) >>>>> at >>>>> org.apache.openjpa.kernel.StateManagerImpl.assignField(StateManagerImpl.java:705) >>>>> at >>>>> org.apache.openjpa.kernel.StateManagerImpl.beforeAccessField(StateManagerImpl.java:1750) >>>>> at >>>>> org.apache.openjpa.kernel.StateManagerImpl.accessingField(StateManagerImpl.java:1679) >>>>> at >>>>> org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom.pcGetid(AbstractPersistableCustom.java) >>>>> at >>>>> org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom.isNew(AbstractPersistableCustom.java:50) >>>>> at >>>>> org.springframework.data.jpa.repository.support.JpaPersistableEntityInformation.isNew(JpaPersistableEntityInformation.java:49) >>>>> at >>>>> org.springframework.data.jpa.repository.support.JpaPersistableEntityInformation.isNew(JpaPersistableEntityInformation.java:30) >>>>> at >>>>> org.springframework.data.jpa.repository.support.SimpleJpaRepository.save(SimpleJpaRepository.java:534) >>>>> at sun.reflect.GeneratedMethodAccessor141.invoke(Unknown Source) >>>>> at >>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>>>> at java.lang.reflect.Method.invoke(Method.java:498) >>>>> at >>>>> org.springframework.data.repository.core.support.RepositoryComposition$RepositoryFragments.invoke(RepositoryComposition.java:359) >>>>> at >>>>> org.springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:200) >>>>> at >>>>> org.springframework.data.repository.core.support.RepositoryFactorySupport$ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:644) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:608) >>>>> at >>>>> org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.lambda$invoke$3(RepositoryFactorySupport.java:595) >>>>> at >>>>> org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:595) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:59) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:295) >>>>> at >>>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) >>>>> at >>>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) >>>>> at >>>>> org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) >>>>> ... 183 common frames omitted >>>>> >>>>> Currently trying to debug the process locally. Will let you know if >>>>> something comes up. >>>>> >>>>> Thanks again, >>>>> >>>>> David Yahalomi >>>>> Co-Founder >>>>> >>>>> Rothschild Blvd 3, Tel Aviv-Yafo, Israel >>>>> mobile: + 972 52 817 9787 >>>>> email: [email protected] >>>>> <https://articode.co> >>>>> >>>>> ᐧ >>>>> >>>>> On Wed, Jan 29, 2020 at 9:54 PM Ivan Bondarenko <[email protected]> >>>>> wrote: >>>>> >>>>>> Hello David! >>>>>> >>>>>> Could you provide full stacktrace? >>>>>> Do you use basic or oauth authentication? >>>>>> >>>>>> Could you try following: "AbstractPersistableCustom implements >>>>>> Serializable"? >>>>>> >>>>>> Ivan >>>>>> >>>>>> ср, 29 янв. 2020 г. в 20:26, David Yahalomi <[email protected]>: >>>>>> >>>>>>> Hey there, >>>>>>> >>>>>>> We've tried using Fineract 1.4 release tag and got this exception >>>>>>> while trying to create a new entity (tried user, client, glaccount and >>>>>>> office) on a new clean database: >>>>>>> >>>>>>> org.apache.openjpa.persistence.InvalidStateException: Encountered >>>>>>> unmanaged object >>>>>>> "org.apache.fineract.useradministration.domain.AppUser@3ac92522" in >>>>>>> life cycle state unmanaged while cascading persistence via field >>>>>>> "org.apach >>>>>>> e.fineract.portfolio.client.domain.Client.submittedBy" during >>>>>>> flush. However, this field does not allow cascade persist. You cannot >>>>>>> flush unmanaged objects or graphs that have persistent associations to >>>>>>> unmanaged objects. >>>>>>> Suggested actions: a) Set the cascade attribute for this field to >>>>>>> CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or "persist" or >>>>>>> "all" (JPA orm.xml), >>>>>>> b) enable cascade-persist globally, >>>>>>> c) manually persist the related field value prior to flushing. >>>>>>> d) if the reference belongs to another context, allow reference to >>>>>>> it by setting StoreContext.setAllowReferenceToSiblingContext(). >>>>>>> >>>>>>> Has anyone experienced the same? >>>>>>> >>>>>>> Thanks ahead, >>>>>>> >>>>>>> David Yahalomi >>>>>>> Co-Founder >>>>>>> >>>>>>> Rothschild Blvd 3, Tel Aviv-Yafo, Israel >>>>>>> mobile: + 972 52 817 9787 >>>>>>> email: [email protected] >>>>>>> <https://articode.co> >>>>>>> ᐧ >>>>>>> >>>>>>
