/* * 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. */ import java.lang.*; import java.util.*; import org.apache.ofbiz.base.util.*; import org.apache.ofbiz.entity.*; import org.apache.ofbiz.service.*; import org.apache.ofbiz.product.catalog.*; import org.apache.ofbiz.product.category.*; import org.apache.ofbiz.product.product.ProductWorker; import org.apache.ofbiz.product.product.ProductContentWrapper; import org.apache.ofbiz.product.catalog.*; import org.apache.ofbiz.ebaystore.EbayStoreHelper; import com.ebay.sdk.ApiContext; import com.ebay.sdk.call.AddItemCall; import com.ebay.soap.eBLBaseComponents.ItemType; import com.ebay.soap.eBLBaseComponents.CategoryType; import com.ebay.soap.eBLBaseComponents.ListingTypeCodeType; import com.ebay.soap.eBLBaseComponents.BuyerPaymentMethodCodeType; import com.ebay.soap.eBLBaseComponents.ItemSpecificsEnabledCodeType; import com.ebay.soap.eBLBaseComponents.GeteBayDetailsResponseType; import com.ebay.soap.eBLBaseComponents.ReturnPolicyType; import com.ebay.soap.eBLBaseComponents.SiteCodeType; import com.ebay.soap.eBLBaseComponents.ShippingServiceDetailsType; import com.ebay.soap.eBLBaseComponents.ShippingLocationDetailsType; import org.apache.ofbiz.ebaystore.EbayEvents; import com.ebay.sdk.ApiException; import com.ebay.sdk.SdkException; //set the content path prefix contentPathPrefix = CatalogWorker.getContentPathPrefix(request); productStoreId = parameters.productStoreId; search_CategoryId = parameters.search_CategoryId; //Get the addItemList and Prepare details apiContext = EbayEvents.getApiContext(request); addItemObj = EbayEvents.getAddItemListingObject(request, apiContext); contents = []; if (addItemObj) { site = (SiteCodeType)apiContext.getSite(); isExportValid = "false"; context.site = site; context.siteCode = apiContext.getSite().value(); context.siteCode_Ebay_Motors = SiteCodeType.E_BAY_MOTORS.value(); addItems = addItemObj.itemListing; addItems.each{ addItemMap -> addItem = addItemMap.addItemCall; content = [:]; item = addItem.getItem(); productId = item.getSKU(); product = from("Product").where("productId", productId).cache(true).queryOne(); contentWrapper = new ProductContentWrapper(product, request); content.productContentWrapper = contentWrapper; content.product = product; contents.add(content); if (addItemMap.isVerify == "Y") { isExportValid = "true"; } else { isExportValid = "false"; } } context.isExportValid = isExportValid; request.setAttribute("productStoreId", productStoreId); categories = EbayEvents.getChildCategories(request); context.categories = categories; storeCategories = EbayEvents.getStoreChildCategories(request); context.storeCategories = storeCategories; // point product tab id productId = null; if (request.getAttribute("isProductId") || parameters.isProductId) { if (request.getAttribute("isProductId")) { productId = request.getAttribute("isProductId"); } else { productId = parameters.isProductId; } context.isProductId = productId; // get product default price form product price productPrices = from("ProductPrice").where("productId", productId, "productPricePurposeId", "EBAY").queryList(); if (productPrices) { context.productPrices = productPrices; } //Is it reserve on eBayInventory isReserve = EbayStoreHelper.isReserveInventory(delegator, productStoreId, productId); context.isReserve = isReserve; // get category detail pkCateId = null; stCate1ID = null; stCate2ID = null; addItems.each{ addItemMap -> addItem = addItemMap.addItemCall; item = addItem.getItem(); if (productId == item.getSKU()) { primaryCate = item.getPrimaryCategory(); storeFront = item.getStorefront(); if (storeFront) { stCate1ID = storeFront.getStoreCategoryID(); stCate2ID = storeFront.getStoreCategory2ID(); context.storeFront = storeFront; } if (primaryCate) pkCateId = primaryCate.getCategoryID(); } } categorySpecificObject = EbayEvents.categorySpecifics(pkCateId, request); if(categorySpecificObject) { Map categorySpecificMap = categorySpecificObject.get("categorySpecifics"); int checkNameSpecific = null; int checkValueSpecific = null; Iterator specificIterator = categorySpecificMap.keySet().iterator(); while(specificIterator.hasNext()){ String name = specificIterator.next(); List valueList = categorySpecificMap.get(name); checkValueSpecific = (valueList) ? 1 : 0 ; } checkNameSpecific = categorySpecificMap.size(); String checkSpecific = ((checkNameSpecific > 0) && (checkValueSpecific == 1)) ? "true" : "false"; context.checkSpecific = checkSpecific; context.categorySpecifix = categorySpecificObject; } context.stCate1ID = stCate1ID; context.stCate2ID = stCate2ID; if (pkCateId) { refName = "itemCateFacade_" + pkCateId; if (addItemObj.get(refName)) { cf = addItemObj.get(refName); if (cf) { listingTypes = []; listingDurationReferenceMap = cf.getListingDurationReferenceMap(); listingDurationMap = cf.getListingDurationMap(); if (listingDurationReferenceMap && listingDurationMap) { Iterator keys = listingDurationReferenceMap.keySet().iterator(); while (keys.hasNext()) { listingTypeMap = [:]; String key = keys.next(); listingTypeMap.type = key; listingTypeMap.durations = listingDurationMap.get(new Integer(listingDurationReferenceMap.get(key))); listingTypes.add(listingTypeMap); } } context.listingTypes = listingTypes; buyerPaymentMethods = cf.getPaymentMethods(); if (buyerPaymentMethods) { context.paymentMethods = buyerPaymentMethods; context.buyerPayMethCode_PAY_PAL = BuyerPaymentMethodCodeType.PAY_PAL; } // load item specifices and custom if both item attributes and item specifics are supported, we only use item specifics if (cf.getItemSpecificEnabled()) { if (ItemSpecificsEnabledCodeType.ENABLED.equals(cf.getItemSpecificEnabled())) { } else if (cf.AttributesEnabled()) { //show attributes input page String attributesHtml = attrMaster.renderHtml(cf.getJoinedAttrSets(), null); context.AttributesHtml = attributesHtml; } else {//show return policy input page sf = EbayEvents.getSiteFacade(apiContext,request); details = sf.getEBayDetailsMap().get(apiContext.getSite()); returnPolicyEnabled = cf.getRetPolicyEnabled(); context.EBayDetails = details; context.ReturnPolicyEnabled = returnPolicyEnabled; } } // load shipping services detail eBayDetailsMap = sf.getEBayDetailsMap(); if (eBayDetailsMap) { eBayDetails = eBayDetailsMap.get(site); shippingServiceDetails = eBayDetails.getShippingServiceDetails(); shippingServiceDetails = EbayEvents.filterShippingService(shippingServiceDetails); context.shippingServiceDetails = shippingServiceDetails; shippingLocationDetails = eBayDetails.getShippingLocationDetails(); context.shippingLocationDetails = shippingLocationDetails; } // load AdItemTemplates if (cf.getAdItemTemplates()) { context.adItemTemplates = cf.getAdItemTemplates(); } } } } } } context.addItemObj = addItemObj; context.contentList = contents;