/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you 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. */ /* * This script is also referenced by the ecommerce's screens and * should not contain order component's specific code. */ import org.apache.ofbiz.base.util.* import org.apache.ofbiz.product.catalog.* import org.apache.ofbiz.product.feature.* import org.apache.ofbiz.product.product.* import org.apache.ofbiz.entity.condition.EntityCondition import org.apache.ofbiz.entity.condition.EntityOperator searchCategoryId = parameters.SEARCH_CATEGORY_ID if (!searchCategoryId) { currentCatalogId = CatalogWorker.getCurrentCatalogId(request) searchCategoryId = CatalogWorker.getCatalogSearchCategoryId(request, currentCatalogId) } searchCategory = from("ProductCategory").where("productCategoryId", searchCategoryId).queryOne() productFeaturesByTypeMap = ParametricSearch.makeCategoryFeatureLists(searchCategoryId, delegator) productFeatureTypeIdsOrdered = new TreeSet(productFeaturesByTypeMap.keySet()) as List if(productFeatureTypeIdsOrdered) { context.productFeatureTypes = from("ProductFeatureType").where(EntityCondition.makeCondition("productFeatureTypeId", EntityOperator.IN, productFeatureTypeIdsOrdered)).queryList() } searchOperator = parameters.SEARCH_OPERATOR if (!"AND".equals(searchOperator) && !"OR".equals(searchOperator)) { searchOperator = "OR" } searchConstraintStrings = ProductSearchSession.searchGetConstraintStrings(false, session, delegator) searchSortOrderString = ProductSearchSession.searchGetSortOrderString(false, request) context.searchCategoryId = searchCategoryId context.searchCategory = searchCategory context.productFeaturesByTypeMap = productFeaturesByTypeMap context.productFeatureTypeIdsOrdered = productFeatureTypeIdsOrdered context.searchOperator = searchOperator context.searchConstraintStrings = searchConstraintStrings context.searchSortOrderString = searchSortOrderString