Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * #%L
  * BroadleafCommerce Framework
  * %%
  * Copyright (C) 2009 - 2013 Broadleaf Commerce
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
 * 
 *       http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */
package org.broadleafcommerce.core.order.domain;
The main function of this entity listener is to publish a Spring event that the customer has been persisted. This is necessary in order to update the current order in the application

Author(s):
Phillip Verheyden (phillipuniverse)
See also:
org.springframework.context.ApplicationEventPublisher.publishEvent(org.springframework.context.ApplicationEvent)
OrderPersistedEvent
org.broadleafcommerce.core.web.order.CartStateRefresher
org.broadleafcommerce.core.web.order.CartState
public class OrderPersistedEntityListener {

    
Invoked on both the PostPersist and PostUpdate. The default implementation is to simply publish a Spring event to the ApplicationContext to allow an event listener to respond appropriately (like resetting the current cart in CartState)

Parameters:
entity the newly-persisted Order
See also:
OrderPersistedEvent
    @PostPersist
    @PostUpdate
    public void customerUpdated(final Object entity) {
        if (TransactionSynchronizationManager.isSynchronizationActive()) {
            TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
                @Override
                public void afterCommit() {
                    ApplicationContextHolder.getApplicationContext().publishEvent(new OrderPersistedEvent((Orderentity));
                }
            });
        }
    }
    
New to GrepCode? Check out our FAQ X