Java tutorial
/* * #%L * BroadleafCommerce Admin Module * %% * 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.admin.web.controller.entity; import org.apache.commons.collections.CollectionUtils; import org.broadleafcommerce.common.exception.ServiceException; import org.broadleafcommerce.openadmin.web.controller.entity.AdminBasicEntityController; import org.broadleafcommerce.openadmin.web.form.component.ListGrid; import org.broadleafcommerce.openadmin.web.form.entity.EntityForm; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import java.util.Map; import javax.servlet.http.HttpServletRequest; /** * Handles admin operations for the {@link Order} entity. * * @author Andre Azzolini (apazzolini) */ @Controller("blAdminOrderController") @RequestMapping("/" + AdminOrderController.SECTION_KEY) public class AdminOrderController extends AdminBasicEntityController { protected static final String SECTION_KEY = "order"; @Override protected String getSectionKey(Map<String, String> pathVars) { //allow external links to work for ToOne items if (super.getSectionKey(pathVars) != null) { return super.getSectionKey(pathVars); } return SECTION_KEY; } @Override protected String showViewUpdateCollection(HttpServletRequest request, Model model, Map<String, String> pathVars, String id, String collectionField, String collectionItemId, String modalHeaderType) throws ServiceException { String returnPath = super.showViewUpdateCollection(request, model, pathVars, id, collectionField, collectionItemId, modalHeaderType); if ("orderItems".equals(collectionField)) { EntityForm ef = (EntityForm) model.asMap().get("entityForm"); ListGrid adjustmentsGrid = ef.findListGrid("orderItemAdjustments"); if (adjustmentsGrid != null && CollectionUtils.isEmpty(adjustmentsGrid.getRecords())) { ef.removeListGrid("orderItemAdjustments"); } ListGrid priceDetailsGrid = ef.findListGrid("orderItemPriceDetails"); if (priceDetailsGrid != null && CollectionUtils.isEmpty(priceDetailsGrid.getRecords())) { ef.removeListGrid("orderItemPriceDetails"); } } return returnPath; } }