Page 1 of 1

Fulfillment Groups

Posted: Mon Jan 06, 2014 10:03 pm
by nanix84
Hi Guys,

I have setup an ecommerce site where I incorporate a service to communicate with other ecommerce sites.
The problem I have is with regards to fulfillment groups. I modified my checkout workflow to add an activity that does
all the communication to other e-commerce sites once the user has completed the payment form. My web service returns a shipping group that I need to reflect on Broadleaf. I cannot instantiate new Fulfillment groups. How can I reflect these values in broadleaf?

Thanks

Re: Fulfillment Groups

Posted: Tue Jan 07, 2014 4:05 pm
by phillipuniverse
Why can you not instantiate new fulfillment groups? The concrete representation of FulfillmentGroup is FulfillmentGroupImpl. You can either say:

Code: Select all


FulfillmentGroup group 
= new FulfillmentGroupImpl();
 


Or go through the fulfillment group service (which is what Broadleaf does but you don't have to):

Code: Select all

//Inject the fulfillment group service into your bean
@Resource
FulfillmentGroupService fgService
;

// whatever other code you have in your bean

FulfillmentGroup fg fgService.createEmptyFulfillmentGroup();
 

Re: Fulfillment Groups

Posted: Tue Jan 07, 2014 6:07 pm
by nanix84
Thanks for the reply :)
I have already done that, but i'm not sure if its ok. I mean, I need it to reflect those values even on the broadleaf database.
What I have done so far is to have the fulfillmentGroupService and save it.

Code: Select all

FulfillmentGroup fg = fulfillmentGroupService.createEmptyFulfillmentGroup();

// set values on fulfillmentGroup fg
//

fg = fulfillmentGroupService.save(fg);
cart.getFulfillmentGroups().add(fg);


If I have done this implementation. Will I need to save the cart order? because theres a new fulfillmentGroup added?
If so, how will I implement it? are there other objects that needs saving too aside order?

Thanks

Re: Fulfillment Groups

Posted: Tue Jan 07, 2014 6:14 pm
by phillipuniverse
Most of the entities that are related to Order (like FulfillmentGroups) are marked to cascade operations. For instance, this is the annotation for the list of fulfillment groups:

Code: Select all

@OneToMany(mappedBy "order"targetEntity FulfillmentGroupImpl.class, cascade = {CascadeType.ALL})
@
Cache(usage CacheConcurrencyStrategy.NONSTRICT_READ_WRITEregion="blOrderElements")
@
AdminPresentationCollection(friendlyName="OrderImpl_Fulfillment_Groups",
            
tab Presentation.Tab.Name.FulfillmentGroupstabOrder Presentation.Tab.Order.FulfillmentGroups)
protected List<
FulfillmentGroupfulfillmentGroups = new ArrayList<FulfillmentGroup>();
 


Because of that cascade = {CascadeType.ALL}, this means you can do this:

Code: Select all


FulfillmentGroup fg 
fulfillmentGroupService.createEmptyFulfillmentGroup();
// set values on fg
cart.getFulfillmentGroups().add(fg);
orderService.save(cart);
 


And then that fulfillment group will be persisted along with the relationship to the cart. It doesn't really hurt anything if you do the multiple saves (save the fulfillment group, add it to the order, save the order) but it's not really necessary in this case.

Basically, you have to make sure that you are not only saving the entity but also the relationship to the entities. When you add a fulfillment group to an order, you have to save that relationship as well. By the way, since Fulfillment Group has the reverse relationship to Order you can also do this:

Code: Select all


FulfillmentGroup fg 
fulfillmentGroupService.createEmptyFulfillmentGroup();
// set values on fg
fg.setOrder(cart);
fulfillmentGroupService.save(fg);
 


Which will actually persist the relationship to the database. However, if you then try to get the list of fulfillment groups for an order and it has already been retrieved, that new fulfillment group won't show up unless you go back to the database to get it.

Anyway, lots of options here it just mainly depends on what makes sense for you. Let us know if we can be of any other help!

Re: Fulfillment Groups

Posted: Fri Jan 10, 2014 2:07 am
by nanix84
Thanks for the info Phillip :)

I have achieved saving the FulfillmentGroup by adding it into the FulfillmentGroup list by using:

Code: Select all

FulfillmentGroup fg = fulfillmentGroupService.createEmptyFulfillmentGroup();
// set values on fg
fg.setOrder(cart);
fulfillmentGroupService.save(fg);


However, I revised my code to remove all of the items in the FulfillmentGroups list and add all new FulfillmentGroup items from the webservice response:

Code: Select all

cart.getFulfillmentGroups().remove(0);
cart.getFulfillmentGroups().add(fg);
orderService.save(cart, true);

When the "save" method is called, it generates an error:

Code: Select all

java.lang.IllegalStateException: An entity copy was already assigned to a different entity.
[artifact:mvn]    at org.hibernate.event.internal.EventCache.put(EventCache.java:184)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.entityIsPersistent(DefaultMergeEventListener.java:181)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:157)
[artifact:mvn]    at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:913)
[artifact:mvn]    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:895)
[artifact:mvn]    at org.hibernate.engine.spi.CascadingAction$6.cascade(CascadingAction.java:288)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:387)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:330)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:208)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:165)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:439)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.entityIsPersistent(DefaultMergeEventListener.java:183)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:157)
[artifact:mvn]    at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:913)
[artifact:mvn]    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:895)
[artifact:mvn]    at org.hibernate.engine.spi.CascadingAction$6.cascade(CascadingAction.java:288)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:387)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:330)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:208)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:165)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:439)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.entityIsPersistent(DefaultMergeEventListener.java:183)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:157)
[artifact:mvn]    at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:913)
[artifact:mvn]    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:895)
[artifact:mvn]    at org.hibernate.engine.spi.CascadingAction$6.cascade(CascadingAction.java:288)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:387)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:330)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:208)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeCollectionElements(Cascade.java:416)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeCollection(Cascade.java:357)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:333)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:208)
[artifact:mvn]    at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:165)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.cascadeOnMerge(DefaultMergeEventListener.java:439)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.entityIsPersistent(DefaultMergeEventListener.java:183)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:157)
[artifact:mvn]    at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:76)
[artifact:mvn]    at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:903)
[artifact:mvn]    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:887)
[artifact:mvn]    at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:891)
[artifact:mvn]    at org.hibernate.ejb.AbstractEntityManagerImpl.merge(AbstractEntityManagerImpl.java:889)
[artifact:mvn]    at sun.reflect.GeneratedMethodAccessor81.invoke(Unknown Source)
[artifact:mvn]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[artifact:mvn]    at java.lang.reflect.Method.invoke(Method.java:606)
[artifact:mvn]    at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:366)
[artifact:mvn]    at com.sun.proxy.$Proxy110.merge(Unknown Source)
[artifact:mvn]    at sun.reflect.GeneratedMethodAccessor81.invoke(Unknown Source)
[artifact:mvn]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[artifact:mvn]    at java.lang.reflect.Method.invoke(Method.java:606)
[artifact:mvn]    at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:241)
[artifact:mvn]    at com.sun.proxy.$Proxy110.merge(Unknown Source)
[artifact:mvn]    at org.broadleafcommerce.core.order.dao.OrderDaoImpl.save(OrderDaoImpl.java:59)
[artifact:mvn]    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[artifact:mvn]    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[artifact:mvn]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[artifact:mvn]    at java.lang.reflect.Method.invoke(Method.java:606)
[artifact:mvn]    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
[artifact:mvn]    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
[artifact:mvn]    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
[artifact:mvn]    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91)
[artifact:mvn]    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
[artifact:mvn]    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
[artifact:mvn]    at com.sun.proxy.$Proxy137.save(Unknown Source)
[artifact:mvn]    at org.broadleafcommerce.core.order.service.OrderServiceImpl.persist(OrderServiceImpl.java:329)
[artifact:mvn]    at org.broadleafcommerce.core.order.service.OrderServiceImpl.save(OrderServiceImpl.java:230)
[artifact:mvn]    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[artifact:mvn]    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[artifact:mvn]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[artifact:mvn]    at java.lang.reflect.Method.invoke(Method.java:606)
[artifact:mvn]    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
[artifact:mvn]    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
[artifact:mvn]    at com.sun.proxy.$Proxy140.save(Unknown Source)
[artifact:mvn]    at com.torocommerce.api.order.service.ESBServiceImpl.setShippingGroupsFromESBResponse(ESBServiceImpl.java:126)
[artifact:mvn]    at org.broadleafcommerce.core.checkout.service.workflow.ESBCreateOrderActivity.execute(ESBCreateOrderActivity.java:45)
[artifact:mvn]    at com.torocommerce.api.order.service.ESBServiceImpl.execute(ESBServiceImpl.java:1)
[artifact:mvn]    at org.broadleafcommerce.core.workflow.SequenceProcessor.doActivities(SequenceProcessor.java:79)
[artifact:mvn]    at org.broadleafcommerce.core.checkout.service.CheckoutServiceImpl.performCheckout(CheckoutServiceImpl.java:72)
[artifact:mvn]    at org.broadleafcommerce.core.web.controller.checkout.BroadleafCheckoutController.completeSecureCreditCardCheckout(BroadleafCheckoutController.java:416)
[artifact:mvn]    at com.torocommerce.controller.checkout.CheckoutController.completeSecureCreditCardCheckout(CheckoutController.java:135)
[artifact:mvn]    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[artifact:mvn]    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[artifact:mvn]    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[artifact:mvn]    at java.lang.reflect.Method.invoke(Method.java:606)
[artifact:mvn]    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
[artifact:mvn]    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
[artifact:mvn]    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
[artifact:mvn]    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
[artifact:mvn]    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)
[artifact:mvn]    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
[artifact:mvn]    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
[artifact:mvn]    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
[artifact:mvn]    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
[artifact:mvn]    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
[artifact:mvn]    at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
[artifact:mvn]    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
[artifact:mvn]    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
[artifact:mvn]    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:643)
[artifact:mvn]    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1331)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
[artifact:mvn]    at org.broadleafcommerce.core.web.order.security.CartStateFilter.doFilter(CartStateFilter.java:57)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.common.web.filter.TranslationFilter.doFilter(TranslationFilter.java:48)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.cms.web.URLHandlerFilter.doFilterInternal(URLHandlerFilter.java:71)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:166)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
[artifact:mvn]    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.profile.web.core.security.SessionFixationProtectionFilter.doFilter(SessionFixationProtectionFilter.java:95)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.profile.web.core.security.CustomerStateFilter.doFilter(CustomerStateFilter.java:53)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.broadleafcommerce.common.security.handler.CsrfFilter.doFilter(CsrfFilter.java:82)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
[artifact:mvn]    at org.broadleafcommerce.common.web.BroadleafRequestFilter.doFilterInternal(BroadleafRequestFilter.java:97)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:180)
[artifact:mvn]    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:166)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
[artifact:mvn]    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
[artifact:mvn]    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
[artifact:mvn]    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
[artifact:mvn]    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1302)
[artifact:mvn]    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:448)
[artifact:mvn]    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:131)
[artifact:mvn]    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
[artifact:mvn]    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
[artifact:mvn]    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1067)
[artifact:mvn]    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:377)
[artifact:mvn]    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
[artifact:mvn]    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1001)
[artifact:mvn]    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
[artifact:mvn]    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
[artifact:mvn]    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
[artifact:mvn]    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
[artifact:mvn]    at org.eclipse.jetty.server.Server.handle(Server.java:360)
[artifact:mvn]    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
[artifact:mvn]    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:900)
[artifact:mvn]    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:954)
[artifact:mvn]    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:851)
[artifact:mvn]    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
[artifact:mvn]    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
[artifact:mvn]    at org.eclipse.jetty.io.nio.SslConnection.handle(SslConnection.java:191)
[artifact:mvn]    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:622)
[artifact:mvn]    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
[artifact:mvn]    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
[artifact:mvn]    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
[artifact:mvn]    at java.lang.Thread.run(Thread.java:744)


I know there are a lot of items I am missing here. Please let me know
Thanks