Modified:
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java?rev=1695126&r1=1695125&r2=1695126&view=diff
==============================================================================
---
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java
(original)
+++
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java
Mon Aug 10 16:15:37 2015
@@ -1,1184 +1,1184 @@
-/*
- * 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.
- */
-package org.ofbiz.ebaystore;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-import org.ofbiz.base.util.Debug;
-import org.ofbiz.base.util.UtilGenerics;
-import org.ofbiz.base.util.UtilHttp;
-import org.ofbiz.base.util.UtilMisc;
-import org.ofbiz.base.util.UtilValidate;
-import org.ofbiz.entity.Delegator;
-import org.ofbiz.entity.GenericEntityException;
-import org.ofbiz.entity.GenericValue;
-import org.ofbiz.entity.util.EntityQuery;
-import org.ofbiz.service.GenericServiceException;
-import org.ofbiz.service.LocalDispatcher;
-
-import com.ebay.sdk.ApiContext;
-import com.ebay.sdk.ApiException;
-import com.ebay.sdk.SdkException;
-import com.ebay.sdk.call.AddItemCall;
-import com.ebay.sdk.call.GetCategorySpecificsCall;
-import com.ebay.sdk.call.GetSellingManagerInventoryCall;
-import com.ebay.sdk.call.ReviseSellingManagerProductCall;
-import com.ebay.sdk.call.VerifyAddItemCall;
-import com.ebay.soap.eBLBaseComponents.AmountType;
-import com.ebay.soap.eBLBaseComponents.CategoryType;
-import com.ebay.soap.eBLBaseComponents.CountryCodeType;
-import com.ebay.soap.eBLBaseComponents.CurrencyCodeType;
-import com.ebay.soap.eBLBaseComponents.DetailLevelCodeType;
-import com.ebay.soap.eBLBaseComponents.FeeType;
-import com.ebay.soap.eBLBaseComponents.FeesType;
-import com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryRequestType;
-import com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryResponseType;
-import com.ebay.soap.eBLBaseComponents.ItemType;
-import com.ebay.soap.eBLBaseComponents.ListingDesignerType;
-import com.ebay.soap.eBLBaseComponents.ListingTypeCodeType;
-import com.ebay.soap.eBLBaseComponents.NameRecommendationType;
-import com.ebay.soap.eBLBaseComponents.NameValueListArrayType;
-import com.ebay.soap.eBLBaseComponents.NameValueListType;
-import com.ebay.soap.eBLBaseComponents.PictureDetailsType;
-import com.ebay.soap.eBLBaseComponents.RecommendationsType;
-import com.ebay.soap.eBLBaseComponents.ReturnPolicyType;
-import com.ebay.soap.eBLBaseComponents.ReviseSellingManagerProductRequestType;
-import com.ebay.soap.eBLBaseComponents.ReviseSellingManagerProductResponseType;
-import com.ebay.soap.eBLBaseComponents.SellingManagerProductDetailsType;
-import com.ebay.soap.eBLBaseComponents.SellingManagerProductType;
-import com.ebay.soap.eBLBaseComponents.ShippingDetailsType;
-import com.ebay.soap.eBLBaseComponents.ShippingServiceDetailsType;
-import com.ebay.soap.eBLBaseComponents.ShippingServiceOptionsType;
-import com.ebay.soap.eBLBaseComponents.ShippingTypeCodeType;
-import com.ebay.soap.eBLBaseComponents.SiteCodeType;
-import com.ebay.soap.eBLBaseComponents.StoreCustomCategoryType;
-import com.ebay.soap.eBLBaseComponents.StorefrontType;
-import com.ebay.soap.eBLBaseComponents.VATDetailsType;
-import com.ebay.soap.eBLBaseComponents.ValueRecommendationType;
-import com.ebay.soap.eBLBaseComponents.VerifyAddItemRequestType;
-import com.ebay.soap.eBLBaseComponents.VerifyAddItemResponseType;
-import com.ebay.soap.eBLBaseComponents.WarningLevelCodeType;
-import com.ebay.soap.eBLBaseComponents.AddItemRequestType;
-import com.ebay.soap.eBLBaseComponents.AddItemResponseType;
-
-public class EbayEvents {
-
- private static final int SHIPPING_SERVICE_ID_LIMIT = 50000;
- public static final String module = EbayEvents.class.getName();
-
- public static String sendLeaveFeedback(HttpServletRequest request,
HttpServletResponse response) {
- HttpSession session = request.getSession(true);
- LocalDispatcher dispatcher = (LocalDispatcher)
request.getAttribute("dispatcher");
- Map<String, Object> requestParams = UtilHttp.getParameterMap(request);
- GenericValue userLogin = (GenericValue)
session.getAttribute("userLogin");
- int feedbackSize =
Integer.parseInt((String)requestParams.get("feedbackSize"));
- String productStoreId = (String)requestParams.get("productStoreId");
- for (int i = 1; i <= feedbackSize; i++) {
- String commentType = (String)requestParams.get("commentType"+i);
- String commentText = (String)requestParams.get("commentText"+i);
- if (!commentType.equals("none") && commentText != null) {
- String itemId = (String)requestParams.get("itemId"+i);
- String transactionId =
(String)requestParams.get("transactionId"+i);
- String targetUser = (String)requestParams.get("targetUser"+i);
- String commentingUser =
(String)requestParams.get("commentingUser"+i);
- String role = (String)requestParams.get("role"+i);
- String ratingItem = (String)requestParams.get("ratingItem"+i);
- String ratingComm = (String)requestParams.get("ratingComm"+i);
- String ratingShip = (String)requestParams.get("ratingShip"+i);
- String ratingShipHand =
(String)requestParams.get("ratingShipHand"+i);
- String AqItemAsDescribedId =
(String)requestParams.get("AqItemAsDescribedId"+i);
-
- Map<String, Object> leavefeedback = new HashMap<String,
Object>();
- leavefeedback.put("productStoreId", productStoreId);
- leavefeedback.put("userLogin", userLogin);
- leavefeedback.put("itemId", itemId);
- leavefeedback.put("transactionId", transactionId);
- leavefeedback.put("targetUser", targetUser);
- leavefeedback.put("commentingUser", commentingUser);
- leavefeedback.put("role", role);
- leavefeedback.put("commentText", commentText);
- leavefeedback.put("commentType", commentType);
- leavefeedback.put("ratingItem", ratingItem);
- leavefeedback.put("ratingComm", ratingComm);
- leavefeedback.put("ratingShip", ratingShip);
- leavefeedback.put("ratingShipHand", ratingShipHand);
- leavefeedback.put("AqItemAsDescribedId", AqItemAsDescribedId);
- // Call service
- try {
- dispatcher.runSync("leaveFeedback", leavefeedback);
- } catch (GenericServiceException e) {
- Debug.logError(e, module);
- request.setAttribute("_ERROR_MESSAGE_","Exception:
".concat(e.getMessage()));
- return "error";
- }
- }
- }
- return "success";
- }
- /* event to add products to prepare create & export listing */
- public static String addProductListing(HttpServletRequest request,
HttpServletResponse response) {
- Delegator delegator = (Delegator) request.getAttribute("delegator");
- Map<String,Object> requestParams = UtilHttp.getParameterMap(request);
- Locale locale = UtilHttp.getLocale(request);
-
- if (UtilValidate.isEmpty(requestParams.get("productStoreId"))) {
- request.setAttribute("_ERROR_MESSAGE_","Required productStoreId
and selected products.");
- return "error";
- }
- List<String> productIds =
UtilGenerics.checkList(requestParams.get("productIds"));
- if (UtilValidate.isNotEmpty(requestParams.get("productIds"))) {
- productIds =
UtilGenerics.checkList(requestParams.get("productIds"));
- } else if (UtilValidate.isNotEmpty(requestParams.get("selectResult")))
{
- try {
- productIds =
UtilGenerics.checkList(requestParams.get("selectResult"));
- } catch (ClassCastException e) {
- if (UtilValidate.isEmpty(productIds)) productIds = new
LinkedList<String>();
- productIds.add((String) requestParams.get("selectResult"));
- }
- } else {
- request.setAttribute("_ERROR_MESSAGE_","Required productStoreId
and selected products.");
- return "error";
- }
- String productStoreId = (String) requestParams.get("productStoreId");
-
- ApiContext apiContext = EbayStoreHelper.getApiContext(productStoreId,
locale, delegator);
- //String webSiteUrl = (String) requestParams.get("webSiteUrl");
- String webSiteUrl = "http://demo-trunk.ofbiz.apache.org";
- Map<String,Object> addItemObject = getAddItemListingObject(request,
apiContext);
- List<Map<String,Object>> itemObjs = null;
- if (UtilValidate.isNotEmpty(addItemObject.get("itemListings"))) {
- itemObjs =
UtilGenerics.checkList(addItemObject.get("itemListings"));
- } else {
- itemObjs = new LinkedList<Map<String,Object>>();
- }
-
- if (UtilValidate.isNotEmpty(productIds)) {
- try {
- // check add new product obj ? to export
- for (String productId : productIds) {
- for (Map<String,Object> itObj : itemObjs) {
- if
(UtilValidate.isNotEmpty(itObj.get(productId.concat("_Obj")))) {
- productIds.remove(productId);
- }
- }
- }
- Debug.logInfo("run in with productIds "+productIds, module);
- for (String productId : productIds) {
- AddItemCall addItemCall = new AddItemCall(apiContext);
- ItemType item = new ItemType();
- GenericValue product =
EntityQuery.use(delegator).from("Product").where("productId",
productId).queryOne();
- item.setTitle(product.getString("internalName"));
- item.setCurrency(CurrencyCodeType.USD);
- String productDescription = "";
- String description = product.getString("description");
- String longDescription =
product.getString("longDescription");
- if (UtilValidate.isNotEmpty(description)) {
- productDescription = description;
- } else if (UtilValidate.isNotEmpty(longDescription)) {
- productDescription = longDescription;
- } else if
(UtilValidate.isNotEmpty(product.getString("productName"))) {
- productDescription = product.getString("productName");
- }
- item.setDescription(productDescription);
- item.setSKU(product.getString("productId"));
- item.setApplicationData(product.getString("productId"));
- item.setCountry(CountryCodeType.US);
- item.setQuantity(1);
- String smallImage = product.getString("smallImageUrl");
- String mediumImage = product.getString("mediumImageUrl");
- String largeImage = product.getString("largeImageUrl");
- String ebayImage = null;
- if (UtilValidate.isNotEmpty(largeImage)) {
- ebayImage = largeImage;
- } else if (UtilValidate.isNotEmpty(mediumImage)) {
- ebayImage = mediumImage;
- } else if (UtilValidate.isNotEmpty(smallImage)) {
- ebayImage = smallImage;
- }
- if (UtilValidate.isNotEmpty(ebayImage)) {
- PictureDetailsType pic = new PictureDetailsType();
- String pictureUrl = webSiteUrl + ebayImage;
- String[] picURL = new String[1];
- picURL[0] = pictureUrl;
- //String[] picURL = {webSiteUrl + ebayImage};
- //pic.setPictureURL(picURL);
- pic.setPictureURL(picURL);
- item.setPictureDetails(pic);
- }
- item.setCategoryMappingAllowed(true);
- item.setSite(apiContext.getSite());
- addItemCall.setSite(apiContext.getSite());
- addItemCall.setItem(item);
- addItemCall.setWarningLevel(WarningLevelCodeType.HIGH);
-
- Map<String,Object> itemListing = null;
- for (Map<String,Object> itemObj : itemObjs) {
- if
(UtilValidate.isNotEmpty(itemObj.get(productId.concat("_Obj")))) {
- itemListing =
UtilGenerics.checkMap(itemObj.get(productId.concat("_Obj")));
- itemListing.put("addItemCall", addItemCall);
- itemListing.put("productId", productId);
- break;
- }
- }
- if (UtilValidate.isEmpty(itemListing)) {
- itemListing = new HashMap<String, Object>();
- itemListing.put("addItemCall", addItemCall);
- itemListing.put("productId", productId);
- }
- itemObjs.add(itemListing);
- }
- addItemObject.put("itemListing", itemObjs);
- } catch (Exception e) {
- Debug.logError(e.getMessage(), module);
- request.setAttribute("_ERROR_MESSAGE_","Exception:
".concat(e.getMessage()));
- return "error";
- }
- }
- return "success";
- }
-
- public static String prepareEbaySiteFacadeObject(HttpServletRequest
request, HttpServletResponse response) {
- HttpSession session = request.getSession(true);
- if (request.getParameter("productStoreId") == null) {
- return "error";
- }
- ApiContext apiContext = getApiContext(request);
- try {
- if (UtilValidate.isNotEmpty(apiContext)) {
- String siteCode = apiContext.getSite().name();
- if
(UtilValidate.isNotEmpty(session.getAttribute("itemListings_".concat(siteCode))))
{
- request.setAttribute("productStoreId",
request.getParameter("productStoreId"));
- return "prepare";
- }
- getSiteFacade(apiContext,request);
- } else {
- request.setAttribute("_ERROR_MESSAGE_","No apiContext for this
account or this site please register on ebay or check you user account.");
- return "error";
- }
- } catch (ApiException e) {
- request.setAttribute("_ERROR_MESSAGE_","ApiException
".concat(e.getMessage()));
- return "error";
- } catch (SdkException e) {
- request.setAttribute("_ERROR_MESSAGE_","SdkException
".concat(e.getMessage()));
- return "error";
- } catch (Exception e) {
- request.setAttribute("_ERROR_MESSAGE_","Exception
".concat(e.getMessage()));
- return "error";
- }
- return "success";
- }
-
- public static EbayStoreSiteFacade getSiteFacade(ApiContext apiContext,
HttpServletRequest request) throws ApiException, SdkException, Exception{
- String siteFacadeName = null;
- EbayStoreSiteFacade siteFacade = null;
-
- if (request.getParameter("productStoreId") == null) {
- Debug.logError("Required productStoreId for get ebay
information.", module);
- return siteFacade;
- }
-
- HttpSession session = request.getSession(true);
- if (UtilValidate.isNotEmpty(apiContext)) {
- siteFacadeName =
"siteFacade".concat("_".concat(apiContext.getSite().name()));
- }
-
- if (UtilValidate.isEmpty(session.getAttribute(siteFacadeName))) {
- session.setAttribute(siteFacadeName,new
EbayStoreSiteFacade(apiContext));
- if (UtilValidate.isNotEmpty(session.getAttribute(siteFacadeName)))
{
- siteFacade =
(EbayStoreSiteFacade)session.getAttribute(siteFacadeName);
- }
- } else {
- siteFacade =
(EbayStoreSiteFacade)session.getAttribute(siteFacadeName);
- }
- Debug.logInfo("loaded session for ebay site Facade is
".concat(siteFacadeName).concat(session.getAttribute(siteFacadeName).toString()),module);
- return siteFacade;
- }
-
- public static ApiContext getApiContext(HttpServletRequest request) {
- Locale locale = UtilHttp.getLocale(request);
- Delegator delegator = (Delegator) request.getAttribute("delegator");
-
- if (request.getParameter("productStoreId") == null &&
request.getAttribute("productStoreId") == null) {
- Debug.logError("Required productStoreId for get ebay API config
data.", module);
- return null;
- }
- ApiContext apiContext =
EbayStoreHelper.getApiContext(request.getParameter("productStoreId") != null ?
request.getParameter("productStoreId"):(String)request.getAttribute("productStoreId"),
locale, delegator);
- return apiContext;
- }
-
- public static String clearProductListing(HttpServletRequest request,
HttpServletResponse response) {
- removeItemListingObject(request, getApiContext(request));
- return "success";
- }
-
- public static void removeItemListingObject(HttpServletRequest request,
ApiContext apiContext) {
- HttpSession session = request.getSession(true);
- String siteCode = apiContext.getSite().name();
- Map<String,Object> addItemObject =
UtilGenerics.checkMap(session.getAttribute("itemListings_".concat(siteCode)));
- if (UtilValidate.isNotEmpty(addItemObject)) {
- session.removeAttribute("itemListings_".concat(siteCode));
- }
- }
-
- public static Map<String,Object>
getAddItemListingObject(HttpServletRequest request, ApiContext apiContext) {
- String siteCode = apiContext.getSite().name();
- Map<String,Object> addItemObject =
UtilGenerics.checkMap(request.getAttribute("itemListings_".concat(siteCode)));
- HttpSession session = request.getSession(true);
- if (addItemObject == null) {
- addItemObject =
UtilGenerics.checkMap(session.getAttribute("itemListings_".concat(siteCode)));
- } else {
- session.setAttribute("itemListings_".concat(siteCode),
addItemObject);
- }
- if (addItemObject == null) {
- addItemObject = new HashMap<String, Object>();
- session.setAttribute("itemListings_".concat(siteCode),
addItemObject);
- }
- return addItemObject;
- }
-
- // make ebay category list
- public static List<CategoryType> getChildCategories(HttpServletRequest
request) throws ApiException, SdkException, Exception{
- List<CategoryType> categories = new LinkedList<CategoryType>();
- EbayStoreSiteFacade sf = null;
- String categoryId = null;
-
- if (request.getParameter("productStoreId") == null &&
request.getAttribute("productStoreId") == null) {
- Debug.logError("Required productStoreId for get ebay
LeafCategories.", module);
- return categories;
- }
- if (request.getParameter("categoryId") != null ||
request.getAttribute("categoryId") != null) {
- categoryId = request.getParameter("categoryId") != null ?
request.getParameter("categoryId") : (String)
request.getAttribute("categoryId");
- Debug.logInfo("Load child categories from session following site
id and categoryId is ".concat(categoryId), module);
- } else {
- Debug.logWarning("No categoryId to get child categories.", module);
- }
-
- ApiContext apiContext = getApiContext(request);
- sf = getSiteFacade(apiContext,request);
- if (UtilValidate.isNotEmpty(sf)) {
- Map<SiteCodeType, List<CategoryType>> csCateMaps =
sf.getSiteCategoriesCSMap();
- List<CategoryType> csCateList =
csCateMaps.get(apiContext.getSite());
- if (UtilValidate.isNotEmpty(csCateList)) {
- if (UtilValidate.isNotEmpty(categoryId)) {
- // find child of selected ebay categories
- for (CategoryType csCate : csCateList) {
- String[] categoryParentIds =
csCate.getCategoryParentID();
- for (String categoryParentId : categoryParentIds) {
- if (categoryId.equals(categoryParentId)) {
- categories.add(csCate);
- }
- }
- }
- } else {
- // find first level of ebay categories
- for (CategoryType csCate : csCateList) {
- String[] categoryParentIds =
csCate.getCategoryParentID();
- for (String categoryParentId : categoryParentIds) {
- if
(csCate.getCategoryID().equals(categoryParentId)) {
- categories.add(csCate);
- }
- }
- }
- }
- //sort the cats list
- Collections.sort(categories, new Comparator<Object>() {
- public int compare(Object a, Object b) {
- CategoryType cat1 = (CategoryType)a;
- CategoryType cat2 = (CategoryType)b;
- int catId1 = Integer.parseInt(cat1.getCategoryID());
- int catId2 = Integer.parseInt(cat2.getCategoryID());
- return catId1 - catId2;
- }
- });
- }
- }
- return categories;
- }
-
- public static List<StoreCustomCategoryType>
getStoreChildCategories(HttpServletRequest request) throws ApiException,
SdkException, Exception {
- List<StoreCustomCategoryType> categories = new
LinkedList<StoreCustomCategoryType>();
- List<StoreCustomCategoryType> csCateList = new
LinkedList<StoreCustomCategoryType>();
- EbayStoreSiteFacade sf = null;
- String categoryId = null;
-
- if (UtilValidate.isEmpty(request.getParameter("productStoreId")) &&
UtilValidate.isEmpty(request.getAttribute("productStoreId"))) {
- Debug.logError("Required productStoreId for get ebay
LeafCategories.", module);
- return categories;
- }
- if (UtilValidate.isNotEmpty(request.getParameter("categoryId")) ||
UtilValidate.isNotEmpty(request.getAttribute("categoryId"))) {
- categoryId = request.getParameter("categoryId") != null ?
request.getParameter("categoryId") : (String)
request.getAttribute("categoryId");
- Debug.logInfo("Load child categories from session following site
id and categoryId is ".concat(categoryId), module);
- } else {
- Debug.logWarning("No categoryId to get child categories.", module);
- }
-
- ApiContext apiContext = getApiContext(request);
- sf = getSiteFacade(apiContext,request);
- if (UtilValidate.isNotEmpty(sf)) {
- Map<SiteCodeType, List<StoreCustomCategoryType>> csCateMaps =
sf.getSiteStoreCategoriesMap();
- csCateList = csCateMaps.get(apiContext.getSite());
- if (UtilValidate.isNotEmpty(csCateList)) {
- if (UtilValidate.isNotEmpty(categoryId)) {
- // find child of selected ebay categories
- for (StoreCustomCategoryType csCate : csCateList) {
- if
(categoryId.equals(String.valueOf(csCate.getCategoryID()))) {
- StoreCustomCategoryType [] childCategories =
csCate.getChildCategory();
- for (StoreCustomCategoryType childCategoryId :
childCategories) {
- categories.add(childCategoryId);
- }
- }
- }
- } else {
- // find first level of ebay categories
- for (StoreCustomCategoryType csCate : csCateList) {
- categories.add(csCate);
- }
- }
- //sort the cats list
- Collections.sort(categories, new Comparator<Object>() {
- public int compare(Object a, Object b) {
- StoreCustomCategoryType cat1 =
(StoreCustomCategoryType) a;
- StoreCustomCategoryType cat2 =
(StoreCustomCategoryType) b;
- int catId1 =
Integer.parseInt(Long.toString(cat1.getCategoryID()));
- int catId2 =
Integer.parseInt(Long.toString(cat2.getCategoryID()));
- return catId1 - catId2;
- }
- });
- }
- }
- return categories;
- }
-
- public static CategoryType getCsCategoriesMapped(HttpServletRequest
request) throws ApiException, SdkException, Exception{
- EbayStoreSiteFacade sf = null;
- String categoryId = null;
- CategoryType cate = null;
-
- if (request.getParameter("productStoreId") == null &&
request.getAttribute("productStoreId") == null) {
- Debug.logError("Required productStoreId for get ebay
LeafCategories.", module);
- return null;
- }
- if (request.getParameter("categoryId") != null ||
request.getAttribute("categoryId") != null) {
- categoryId = request.getParameter("categoryId") != null ?
request.getParameter("categoryId") : (String)request.getAttribute("categoryId");
- Debug.logInfo("Load child categories from session following site
id and categoryId is ".concat(categoryId), module);
- } else {
- Debug.logWarning("No categoryId to get child categories.", module);
- return null;
- }
-
- ApiContext apiContext = getApiContext(request);
- sf = getSiteFacade(apiContext,request);
- if (UtilValidate.isNotEmpty(sf)) {
- Map<SiteCodeType, List<CategoryType>> csCateMaps =
sf.getSiteCategoriesCSMap();
- List<CategoryType> csCateList =
csCateMaps.get(apiContext.getSite());
- if (UtilValidate.isNotEmpty(csCateList)) {
- if (UtilValidate.isNotEmpty(categoryId)) {
- // find child of selected ebay categories
- for (CategoryType csCate : csCateList) {
- if (csCate.getCategoryID().equals(categoryId)) {
- cate = csCate;
- break;
- }
- }
- }
- }
- }
- return cate;
- }
-
- public static String setSelectedEbayCategory(HttpServletRequest request,
HttpServletResponse response) {
- Map<String,Object> requestParams = UtilHttp.getParameterMap(request);
- Delegator delegator = (Delegator) request.getAttribute("delegator");
- if (UtilValidate.isEmpty(requestParams.get("productStoreId"))) {
- request.setAttribute("_ERROR_MESSAGE_","Required productStoreId.");
- return "error";
- }
- if (UtilValidate.isEmpty(requestParams.get("isProductId"))) {
- request.setAttribute("_ERROR_MESSAGE_","Required can not find form
Id.");
- return "error";
- }
- String isProductId = (String) requestParams.get("isProductId");
- if (UtilValidate.isEmpty(requestParams.get("productId")) ||
UtilValidate.isEmpty(requestParams.get("ebayCategory"))) {
- request.setAttribute("_ERROR_MESSAGE_","No ebay category or
productId selected with form id ".concat(isProductId));
- return "error";
- }
- String categoryId = (String)requestParams.get("ebayCategory");
- if (categoryId.contains("false")) {
- request.setAttribute("_ERROR_MESSAGE_","Please select ebay
category with low level of categories.");
- return "error";
- } else {
- if (categoryId.contains("true")) categoryId =
categoryId.substring(0,categoryId.indexOf(":"));
- }
- String productId = (String) requestParams.get("isProductId");
- EbayStoreCategoryFacade cf = null;
- EbayStoreSiteFacade sf = null;
- // find is exiting product and set category into item in additem call
- try {
- if
(UtilValidate.isNotEmpty(EntityQuery.use(delegator).from("Product").where("productId",
productId).queryOne())) {
- ApiContext apiContext = getApiContext(request);
- Map<String,Object> addItemObject =
getAddItemListingObject(request, apiContext);
- List<Map<String,Object>> addItemlist =
UtilGenerics.checkList(addItemObject.get("itemListing"));
-
- if (UtilValidate.isNotEmpty(addItemlist)) {
- for (Map<String,Object> addItemCall : addItemlist) {
- AddItemCall itemCall = (AddItemCall)
addItemCall.get("addItemCall");
- ItemType item = itemCall.getItem();
- if (productId.equals(item.getSKU())) {
- request.setAttribute("categoryId", categoryId);
- CategoryType csCate =
getCsCategoriesMapped(request);
- if (UtilValidate.isNotEmpty(csCate)) {
- Debug.logInfo("Set selected ebay category
".concat(csCate.getCategoryID().toString().concat(csCate.getCategoryName()).concat(String.valueOf((csCate.isLeafCategory())))),
module);
- item.setPrimaryCategory(csCate);
- // get category feature and attributes
- sf = getSiteFacade(apiContext, request);
- String refName =
"itemCateFacade_".concat(csCate.getCategoryID());
- if
(UtilValidate.isEmpty(addItemObject.get(refName))) {
- cf = new
EbayStoreCategoryFacade(csCate.getCategoryID(), apiContext, sf.getAttrMaster(),
sf);
- addItemObject.put(refName, cf);
- }
- request.setAttribute("_EVENT_MESSAGE_","Set
selected ebay category ".concat(csCate.getCategoryID().toString()).concat("
with product ".concat(productId).concat(" successed.")));
- } else {
- Debug.logWarning(categoryId.concat(" This
category is not leaf category or ?"), module);
- }
- break;
- }
- }
- }
- }
- } catch (GenericEntityException e) {
- Debug.logError(e.getMessage(), module);
- } catch (ApiException e) {
- Debug.logError(e.getMessage(), module);
- } catch (SdkException e) {
- Debug.logError(e.getMessage(), module);
- } catch (Exception e) {
- Debug.logError(e.getMessage(), module);
- }
- request.setAttribute("productStoreId",
requestParams.get("productStoreId"));
- request.setAttribute("isProductId", productId);
- request.removeAttribute("categoryId");
- return "success";
- }
-
- /* for shipping service detail filter */
- private static boolean isFlat(ShippingTypeCodeType[] st) {
- for (int i = 0; i < st.length; i++) {
- if (st[i].compareTo(ShippingTypeCodeType.FLAT) == 0) {
- return true;
- }
- }
- return false;
- }
-
- public static ShippingServiceDetailsType[]
filterShippingService(ShippingServiceDetailsType[] array) {
- ArrayList<ShippingServiceDetailsType> list = new
ArrayList<ShippingServiceDetailsType>();
- for (int i = 0; i < array.length; i++) {
- if (isFlat(array[i].getServiceType()) &&
array[i].getShippingServiceID() < SHIPPING_SERVICE_ID_LIMIT) {
- list.add(array[i]);
- }
- }
- return list.toArray(new ShippingServiceDetailsType[0]);
- }
-
- public static String updateProductExportDetail(HttpServletRequest request,
HttpServletResponse response) {
- Delegator delegator = (Delegator) request.getAttribute("delegator");
- HttpSession session = request.getSession(true);
- LocalDispatcher dispatcher = (LocalDispatcher)
request.getAttribute("dispatcher");
- Map<String,Object> requestParams = UtilHttp.getParameterMap(request);
- Locale locale = UtilHttp.getLocale(request);
- GenericValue userLogin = (GenericValue)
session.getAttribute("userLogin");
- HashMap<String, Object> attributeMapList = new HashMap<String,
Object>();
- String id = "";
- if (UtilValidate.isNotEmpty(requestParams.get("listype"))) {
- if ("auction".equals(requestParams.get("listype"))) {
- id = "_1";
- } else {
- id = "_2";
- }
- }
- String startPrice = "";
- if
(UtilValidate.isNotEmpty(requestParams.get("startPrice".concat(id)))) {
- startPrice = (String) requestParams.get("startPrice".concat(id));
- }
- String buyItNowPrice = "";
- if
(UtilValidate.isNotEmpty(requestParams.get("buyItNowPrice".concat(id)))) {
- buyItNowPrice = (String)
requestParams.get("buyItNowPrice".concat(id));
- }
- String productId = null;
- if (UtilValidate.isNotEmpty(requestParams.get("productId"))) {
- productId = requestParams.get("productId").toString();
- }
-
- String itemPkCateId = (String) requestParams.get("primaryCateId");
- String shippingService = (String) requestParams.get("ShippingService");
- String productStoreId = (String) requestParams.get("productStoreId");
-
- // initialize request parameter.
- Map<String, Object> paramMap = UtilHttp.getParameterMap(request);
- List<String> nameSpecificList = new LinkedList<String>();
- List<String> valueSpecificList = new LinkedList<String>();
- String nameValueListType = null;
- String valueListType = null;
- int rowCount = UtilHttp.getMultiFormRowCount(paramMap);
- if (rowCount > 1) {
- for (int i = 0; i < rowCount; i++) {
- String thisSuffix = UtilHttp.MULTI_ROW_DELIMITER + i;
// current suffix after each field id
- // get the NameSpecifics
- if (paramMap.containsKey("nameValueListType" + thisSuffix)) {
- nameValueListType = (String)
paramMap.remove("nameValueListType" + thisSuffix);
- }
- // get the ValueSpecifics
- if (paramMap.containsKey("categorySpecifics" + thisSuffix)) {
- valueListType = (String)
paramMap.remove("categorySpecifics" + thisSuffix);
- }
-
- if ((UtilValidate.isNotEmpty(nameValueListType)) &&
(UtilValidate.isNotEmpty(valueListType))){
- nameSpecificList.add(nameValueListType);
- valueSpecificList.add(valueListType);
- }
- }
- }
-
- try {
- ApiContext apiContext =
EbayStoreHelper.getApiContext(productStoreId, locale, delegator);
- Map<String,Object> addItemObject =
getAddItemListingObject(request, apiContext);
- List<Map<String,Object>> listAddItem = null;
- if (UtilValidate.isNotEmpty(addItemObject.get("itemListing"))) {
- listAddItem =
UtilGenerics.checkList(addItemObject.get("itemListing"));
- } else {
- listAddItem = new LinkedList<Map<String,Object>>();
- }
-
- for (Map<String,Object> itemObj : listAddItem) {
- AddItemCall addItemCall = (AddItemCall)
itemObj.get("addItemCall");
- ItemType item = addItemCall.getItem();
- String SKU = item.getSKU();
- if (UtilValidate.isNotEmpty(productId)) {
- if (productId.equals(SKU)) {
-
- attributeMapList.put("Title", item.getTitle());
- attributeMapList.put("SKU", SKU);
- attributeMapList.put("Currency",
item.getCurrency().value());
- attributeMapList.put("Description",
item.getDescription());
- attributeMapList.put("ApplicationData",
item.getApplicationData());
- attributeMapList.put("Country",
item.getCountry().value());
- attributeMapList.put("PictureURL",
item.getPictureDetails().getPictureURL(0));
- attributeMapList.put("Site", item.getSite().value());
- attributeMapList.put("UseTaxTable", "false");
- attributeMapList.put("BestOfferEnabled", "true");
- attributeMapList.put("AutoPayEnabled", "true");
- attributeMapList.put("CategoryID",
item.getPrimaryCategory().getCategoryID());
- attributeMapList.put("CategoryLevel",
item.getPrimaryCategory().getCategoryLevel());
- attributeMapList.put("CategoryName",
item.getPrimaryCategory().getCategoryName());
- attributeMapList.put("CategoryParentID",
item.getPrimaryCategory().getCategoryParentID(0).toString());
- attributeMapList.put("LeafCategory", "true");
- attributeMapList.put("LSD", "true");
-
- // set Item Specifics.
- int itemSpecificsSize = nameSpecificList.size();
- int valueSpecificsSize = valueSpecificList.size();
- if ((itemSpecificsSize > 0) && (valueSpecificsSize >
0)) {
- NameValueListArrayType nameValueListArray = new
NameValueListArrayType();
- NameValueListType[] nameValueListTypes = new
NameValueListType[nameSpecificList.size()];
- for (int i = 0; i < itemSpecificsSize; i++) {
- String name = nameSpecificList.get(i);
- String value = valueSpecificList.get(i);
- String[] valueArray = new String[] { value };
-
- // set Name value list type.
- NameValueListType listType = new
NameValueListType();
- listType.setName(name);
- listType.setValue(valueArray);
- nameValueListTypes[i] = listType;
- }
-
nameValueListArray.setNameValueList(nameValueListTypes);
- item.setItemSpecifics(nameValueListArray);
- }
-
- item.setUseTaxTable(false);
- item.setDispatchTimeMax(3);
- ReturnPolicyType policy = new ReturnPolicyType();
- policy.setReturnsAcceptedOption("ReturnsNotAccepted");
- item.setReturnPolicy(policy);
- attributeMapList.put("ReturnsAcceptedOption",
"ReturnsNotAccepted");
-
- String currencyId = "";
- if
(UtilValidate.isNotEmpty(requestParams.get("currencyId".concat(id)))) {
- currencyId = (String)
requestParams.get("currencyId".concat(id));
- }
- if
(UtilValidate.isNotEmpty(requestParams.get("enabledTheme")) &&
"Y".equals(requestParams.get("enabledTheme"))) {
- ListingDesignerType designer = new
ListingDesignerType();
- String layoutId = (String)
requestParams.get("themeGroup");
- String themeIdImage = (String)
requestParams.get("theme");
- String themeId = themeIdImage.substring(0,
themeIdImage.indexOf(":"));
- designer.setLayoutID(Integer.parseInt(layoutId));
- designer.setThemeID(Integer.parseInt(themeId));
- item.setListingDesigner(designer);
- attributeMapList.put("LayoutID",
item.getListingDesigner().getLayoutID());
- attributeMapList.put("ThemeID",
item.getListingDesigner().getThemeID());
- }
- if ("_1".equals(id)) {
- item.setListingType(ListingTypeCodeType.CHINESE);
- AmountType amtStart = new AmountType();
-
amtStart.setCurrencyID(CurrencyCodeType.valueOf(currencyId));
- amtStart.setValue(Double.parseDouble(startPrice));
- item.setStartPrice(amtStart);
-
- AmountType amtBIN = new AmountType();
-
amtBIN.setCurrencyID(CurrencyCodeType.valueOf(currencyId));
- amtBIN.setValue(Double.parseDouble(buyItNowPrice));
- item.setBuyItNowPrice(amtBIN);
- attributeMapList.put("BuyItNowPrice",
item.getBuyItNowPrice().getValue());
-
- if
(UtilValidate.isNotEmpty(requestParams.get("reservePrice".concat(id)))) {
- AmountType amtResv = new AmountType();
-
amtResv.setCurrencyID(CurrencyCodeType.valueOf(currencyId));
-
amtResv.setValue(Double.parseDouble(requestParams.get("reservePrice".concat(id)).toString()));
- item.setReservePrice(amtResv);
- attributeMapList.put("ReservePrice",
item.getReservePrice().getValue());
- }
- } else if ("_2".equals(id)) {
-
item.setListingType(ListingTypeCodeType.FIXED_PRICE_ITEM);
- AmountType amtBIN = new AmountType();
-
amtBIN.setCurrencyID(CurrencyCodeType.valueOf(currencyId));
- amtBIN.setValue(Double.parseDouble(startPrice));
- item.setStartPrice(amtBIN);
- if
(UtilValidate.isNotEmpty(requestParams.get("enableBestOffer".concat(id)))) {
-
item.setBestOfferEnabled(Boolean.valueOf(requestParams.get("enableBestOffer".concat(id)).toString()));
- }
- }
- attributeMapList.put("ListingType",
item.getListingType().value());
- attributeMapList.put("StartPrice",
item.getStartPrice().getValue());
-
- EbayStoreHelper.mappedPaymentMethods(requestParams,
itemPkCateId, addItemObject, item, attributeMapList);
-
- ShippingDetailsType shippingDetail = new
ShippingDetailsType();
- ShippingServiceOptionsType[] shippingOptions = new
ShippingServiceOptionsType[1];
- ShippingServiceOptionsType shippingOption = new
ShippingServiceOptionsType();
- shippingOption.setShippingServicePriority(1);
- shippingOption.setShippingService(shippingService);
- AmountType amtServiceCost = new AmountType();
- amtServiceCost.setValue(5.0);
- amtServiceCost.setCurrencyID(CurrencyCodeType.USD);
- shippingOption.setShippingServiceCost(amtServiceCost);
- shippingOptions[0] = shippingOption;
-
shippingDetail.setShippingType(ShippingTypeCodeType.FLAT);
-
shippingDetail.setShippingServiceOptions(shippingOptions);
- item.setShippingDetails(shippingDetail);
- attributeMapList.put("ShippingService",
shippingService);
- attributeMapList.put("ShippingServiceCost", ""+5.0);
- attributeMapList.put("ShippingServiceCostCurrency",
"USD");
- attributeMapList.put("ShippingServicePriority", "1");
- attributeMapList.put("ShippingType", "Flat");
- attributeMapList.put("ShippingServiceAdditionalCost",
amtServiceCost.getValue());
-
- EbayStoreHelper.mappedShippingLocations(requestParams,
item, apiContext, request, attributeMapList);
-
- if
(UtilValidate.isNotEmpty(requestParams.get("vatPercent".concat(id)))) {
- VATDetailsType vat = new VATDetailsType();
- vat.setVATPercent(new
Float(requestParams.get("vatPercent".concat(id)).toString()));
- item.setVATDetails(vat);
- attributeMapList.put("VATPercent", vat);
- }
- if
(UtilValidate.isNotEmpty(requestParams.get("location"))) {
-
item.setLocation(requestParams.get("location").toString());
- attributeMapList.put("Location",
requestParams.get("location").toString());
- }
- if
(UtilValidate.isNotEmpty(requestParams.get("quantity".concat(id)))) {
-
item.setQuantity(Integer.parseInt(requestParams.get("quantity".concat(id)).toString()));
- attributeMapList.put("Quantity",
requestParams.get("quantity".concat(id)).toString());
- }
- if
(UtilValidate.isNotEmpty(requestParams.get("duration".concat(id)))) {
-
item.setListingDuration(requestParams.get("duration".concat(id)).toString());
- attributeMapList.put("ListingDuration",
requestParams.get("duration".concat(id)).toString());
- }
- if
(UtilValidate.isNotEmpty(requestParams.get("lotsize".concat(id)))) {
-
item.setLotSize(Integer.parseInt(requestParams.get("lotsize".concat(id)).toString()));
- attributeMapList.put("LotSize",
requestParams.get("lotsize".concat(id)).toString());
- }
- if
(UtilValidate.isNotEmpty(requestParams.get("postalCode".concat(id)))) {
-
item.setPostalCode(requestParams.get("postalCode".concat(id)).toString());
- attributeMapList.put("PostalCode",
requestParams.get("postalCode".concat(id)).toString());
- }
- StorefrontType storeFront = new StorefrontType();
- if
(UtilValidate.isNotEmpty(requestParams.get("ebayStore1Category"))) {
- String ebayStore1Category =
(String)requestParams.get("ebayStore1Category");
- if (ebayStore1Category.contains("false")) {
- request.setAttribute("_ERROR_MESSAGE_","Please
select ebay store category with low level of categories.");
- return "error";
- } else {
- if (ebayStore1Category.contains("true"))
ebayStore1Category =
ebayStore1Category.substring(0,ebayStore1Category.indexOf(":"));
- }
- storeFront.setStoreCategoryID(new
Long(ebayStore1Category));
- attributeMapList.put("StoreCategoryID",
ebayStore1Category);
-
- }
- if
(UtilValidate.isNotEmpty(requestParams.get("ebayStore2Category"))) {
- String ebayStore2Category =
(String)requestParams.get("ebayStore2Category");
- if (ebayStore2Category.contains("false")) {
- request.setAttribute("_ERROR_MESSAGE_","Please
select ebay store category with low level of categories.");
- return "error";
- } else {
- if (ebayStore2Category.contains("true"))
ebayStore2Category =
ebayStore2Category.substring(0,ebayStore2Category.indexOf(":"));
- }
- storeFront.setStoreCategory2ID(new
Long(ebayStore2Category));
- attributeMapList.put("StoreCategory2ID",
ebayStore2Category);
- }
- if
(UtilValidate.isNotEmpty(requestParams.get("ebayStore1Category")) ||
UtilValidate.isNotEmpty(requestParams.get("ebayStore2Category"))) {
- item.setStorefront(storeFront);
- }
- //TODO: set value of country and currency on the basis
of request param values
- item.setCountry(CountryCodeType.US);
- attributeMapList.put("Country", "US");
- item.setCurrency(CurrencyCodeType.USD);
- attributeMapList.put("Currency", "USD");
-
- if
(UtilValidate.isNotEmpty(requestParams.get("requireEbayInventory")) &&
"Y".equals(requestParams.get("requireEbayInventory").toString())) {
- GenericValue ebayProductStore =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("productStoreId",
productStoreId, "productId", productId).filterByDate().queryFirst();
- if (UtilValidate.isNotEmpty(ebayProductStore)) {
- String facilityId =
ebayProductStore.getString("facilityId");
- BigDecimal atp =
ebayProductStore.getBigDecimal("availableToPromiseListing");
- int intAtp = atp.intValue();
- if ((facilityId != "") && (intAtp != 0)) {
- int newAtp = intAtp - 1;
- Map<String,Object> inMap = new
HashMap<String, Object>();
- inMap.put("productStoreId",
productStoreId);
- inMap.put("facilityId", facilityId);
- inMap.put("productId", productId);
- inMap.put("availableToPromiseListing", new
BigDecimal(newAtp));
- inMap.put("userLogin", userLogin);
- try {
-
dispatcher.runSync("updateEbayProductStoreInventory", inMap);
- } catch (GenericServiceException ex) {
- Debug.logError(ex.getMessage(),
module);
-
request.setAttribute("_ERROR_MESSAGE_","Exception: ".concat(ex.getMessage()));
- return "error";
- }
- itemObj.put("requireEbayInventory", "Y");
- }
- }
- }
- addItemCall.setItem(item);
-
- // create/update EbayProductListing entity
- Map<String, Object> prodMap = new HashMap<String,
Object>();
- prodMap.put("productStoreId", productStoreId);
- prodMap.put("productId", productId);
- prodMap.put("userLogin", userLogin);
- if
(UtilValidate.isNotEmpty(requestParams.get("isAutoRelist"))) {
- prodMap.put("autoRelisting", "Y");
- itemObj.put("isAutoRelist", "Y");
- }
- try {
- GenericValue storeRole =
EntityQuery.use(delegator).from("ProductStoreRole").where("productStoreId",
productStoreId, "roleTypeId", "EBAY_ACCOUNT").queryFirst();
- if (UtilValidate.isNotEmpty(storeRole)) {
- GenericValue eBayUserLogin =
EntityQuery.use(delegator).from("UserLogin")
-
.where("partyId", storeRole.get("partyId"))
-
.queryFirst();
- if (UtilValidate.isNotEmpty(eBayUserLogin)) {
- prodMap.put("userLoginId",
eBayUserLogin.get("userLoginId").toString());
- }
- }
- } catch (GenericEntityException ex) {
- Debug.logError(ex.getMessage(), module);
- request.setAttribute("_ERROR_MESSAGE_","Exception:
".concat(ex.getMessage()));
- return "error";
- }
- String productListingId = null;
- if
(UtilValidate.isEmpty(itemObj.get("productListingId"))) {
- try {
- prodMap.put("statusId", "ITEM_CREATED");
- Map<String, Object> result =
dispatcher.runSync("createEbayProductListing", prodMap);
- productListingId =
result.get("productListingId").toString();
- itemObj.put("productListingId",
productListingId);
- itemObj.put("isSaved", "Y");
- } catch (GenericServiceException ex) {
- Debug.logError(ex.getMessage(), module);
-
request.setAttribute("_ERROR_MESSAGE_","Exception: ".concat(ex.getMessage()));
- return "error";
- }
- } else {
- productListingId =
itemObj.get("productListingId").toString();
- prodMap.put("productListingId", productListingId);
- try {
- dispatcher.runSync("updateEbayProductListing",
prodMap);
- } catch (GenericServiceException ex) {
- Debug.logError(ex.getMessage(), module);
-
request.setAttribute("_ERROR_MESSAGE_","Exception: ".concat(ex.getMessage()));
- return "error";
- }
- }
-
- // create/update EbayProductListingAttribute
- if (UtilValidate.isNotEmpty(productListingId)) {
- attributeMapList.put("productListingId",
productListingId);
- Map<String, Object> ebayProdAttrMap = new
HashMap<String, Object>();
- ebayProdAttrMap.put("productListingId",
productListingId);
- ebayProdAttrMap.put("userLogin", userLogin);
- ebayProdAttrMap.put("attributeMapList",
attributeMapList);
- try {
-
dispatcher.runSync("setEbayProductListingAttribute", ebayProdAttrMap);
- } catch (GenericServiceException ex) {
- Debug.logError(ex.getMessage(), module);
-
request.setAttribute("_ERROR_MESSAGE_","Exception: ".concat(ex.getMessage()));
- return "error";
- }
- }
- }
- }
- }
- request.setAttribute("productStoreId",
requestParams.get("productStoreId"));
- } catch(Exception e) {
- Debug.logError(e.getMessage(), module);
- request.setAttribute("_ERROR_MESSAGE_","Exception:
".concat(e.getMessage()));
- return "error";
- }
- return "success";
- }
-
- public static String verifyItemBeforeAddAndExportToEbay(HttpServletRequest
request, HttpServletResponse response) {
- Delegator delegator = (Delegator) request.getAttribute("delegator");
- LocalDispatcher dispatcher = (LocalDispatcher)
request.getAttribute("dispatcher");
- Map<String,Object> requestParams = UtilHttp.getParameterMap(request);
- Locale locale = UtilHttp.getLocale(request);
- String productStoreId = (String) requestParams.get("productStoreId");
- HttpSession session = request.getSession(true);
- GenericValue userLogin = (GenericValue)
session.getAttribute("userLogin");
-
- try {
- ApiContext apiContext =
EbayStoreHelper.getApiContext(productStoreId, locale, delegator);
- VerifyAddItemRequestType req = new VerifyAddItemRequestType();
- VerifyAddItemResponseType resp = null;
- AddItemResponseType addItemResp = null;
-
-
- VerifyAddItemCall verifyCall = new VerifyAddItemCall(apiContext);
- Map<String,Object> addItemObject =
getAddItemListingObject(request, apiContext);
- List<Map<String,Object>> listAddItem = null;
- if (UtilValidate.isNotEmpty(addItemObject.get("itemListing"))) {
- listAddItem =
UtilGenerics.checkList(addItemObject.get("itemListing"));
- } else {
- listAddItem = new LinkedList<Map<String,Object>>();
- }
- double feesummary = 0.0;
- for (Map<String,Object> itemObj : listAddItem) {
- AddItemCall addItemCall = (AddItemCall)
itemObj.get("addItemCall");
- ItemType item = addItemCall.getItem();
- String SKU = item.getSKU();
- if (UtilValidate.isNotEmpty(requestParams.get("productId"))) {
- String productId =
requestParams.get("productId").toString();
- if (productId.equals(SKU)) {
- req.setItem(item);
- resp = (VerifyAddItemResponseType)
verifyCall.execute(req);
- if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
- itemObj.put("isVerify", "Y");
- FeesType feest = resp.getFees();
- FeeType[] fees = feest.getFee();
- for (FeeType fee : fees) {
- double dfee = fee.getFee().getValue();
- feesummary = feesummary + dfee;
- }
- //if item is verified then export it to ebay
- AddItemRequestType addItemReq = new
AddItemRequestType();
- addItemReq.setItem(item);
- addItemResp = (AddItemResponseType)
addItemCall.execute(addItemReq);
- if (addItemResp != null &&
"SUCCESS".equals(addItemResp.getAck().toString())) {
- removeProductFromListing(request, response);
- }
- } else {
- EbayStoreHelper.createErrorLogMessage(userLogin,
dispatcher, productStoreId, resp.getAck().toString(), "Verify Item :
verifyItemBeforeAdd", resp.getErrors(0).getLongMessage());
- }
- }
- }
- }
- //request.setAttribute("itemFee", feesummary);
- request.setAttribute("productStoreId",
requestParams.get("productStoreId"));
- } catch (Exception e) {
- Debug.logError(e.getMessage(), module);
- request.setAttribute("_ERROR_MESSAGE_","Exception:
".concat(e.getMessage()));
- return "error";
- }
- return "success";
- }
-
- public static String removeProductFromListing(HttpServletRequest request,
HttpServletResponse response) {
- Delegator delegator = (Delegator) request.getAttribute("delegator");
- Map<String,Object> requestParams = UtilHttp.getParameterMap(request);
- Locale locale = UtilHttp.getLocale(request);
- String productStoreId = (String) requestParams.get("productStoreId");
- try {
- ApiContext apiContext =
EbayStoreHelper.getApiContext(productStoreId, locale, delegator);
- Map<String,Object> addItemObject =
getAddItemListingObject(request, apiContext);
- List<Map<String,Object>> listAddItem = null;
- if (UtilValidate.isNotEmpty(addItemObject.get("itemListing"))) {
- listAddItem =
UtilGenerics.checkList(addItemObject.get("itemListing"));
- } else {
- listAddItem = new LinkedList<Map<String,Object>>();
- }
- int i = 0;
- for (Map<String,Object> itemObj : listAddItem) {
- AddItemCall addItemCall = (AddItemCall)
itemObj.get("addItemCall");
- ItemType item = addItemCall.getItem();
- String SKU = item.getSKU();
- if (UtilValidate.isNotEmpty(requestParams.get("productId"))) {
- String productId =
requestParams.get("productId").toString();
- if (productId.equals(SKU)) {
- listAddItem.remove(i);
- }
- }
- i++;
- }
- if (listAddItem.size() <=0) {
- removeItemListingObject(request, apiContext);
- }
- request.setAttribute("productStoreId",
requestParams.get("productStoreId"));
- } catch (Exception e) {
- Debug.logError(e.getMessage(), module);
- request.setAttribute("_ERROR_MESSAGE_","Exception:
".concat(e.getMessage()));
- return "error";
- }
- return "success";
- }
-
- public static String exportListingToEbay(HttpServletRequest request,
HttpServletResponse response) {
- LocalDispatcher dispatcher = (LocalDispatcher)
request.getAttribute("dispatcher");
- Delegator delegator = (Delegator) request.getAttribute("delegator");
- Map<String,Object> requestParams = UtilHttp.getParameterMap(request);
- Locale locale = UtilHttp.getLocale(request);
- String productStoreId = (String) requestParams.get("productStoreId");
- HttpSession session = request.getSession(true);
- GenericValue userLogin = (GenericValue)
session.getAttribute("userLogin");
- try {
- ApiContext apiContext =
EbayStoreHelper.getApiContext(productStoreId, locale, delegator);
- Map<String,Object> addItemObject =
getAddItemListingObject(request, apiContext);
- List<Map<String,Object>> listAddItem = null;
- if (UtilValidate.isNotEmpty(addItemObject.get("itemListing"))) {
- listAddItem =
UtilGenerics.checkList(addItemObject.get("itemListing"));
- } else {
- listAddItem = new LinkedList<Map<String,Object>>();
- }
- for (Map<String,Object> itemObj : listAddItem) {
- updateQuantityInventoryProduct(itemObj, productStoreId,
locale, delegator, dispatcher, userLogin);
- dispatcher.runSync("exportProductEachItem",
UtilMisc.toMap("itemObject", itemObj));
- }
- } catch (Exception e) {
- Debug.logError(e.getMessage(), module);
- request.setAttribute("_ERROR_MESSAGE_","Exception:
".concat(e.getMessage()));
- return "error";
- }
- return "success";
- }
-
- private static void updateQuantityInventoryProduct(Map<String, Object>
itemObj, String productStoreId, Locale locale, Delegator delegator,
LocalDispatcher dispatcher, GenericValue userLogin) {
- try {
- AddItemCall addItemCall = (AddItemCall) itemObj.get("addItemCall");
- ItemType item = addItemCall.getItem();
- String productId = item.getSKU();
- if (UtilValidate.isNotEmpty(itemObj.get("requireEbayInventory"))
&& (itemObj.get("requireEbayInventory").equals("Y"))) {
- GetSellingManagerInventoryRequestType req = new
GetSellingManagerInventoryRequestType();
- GetSellingManagerInventoryResponseType resp = null;
- SellingManagerProductType[] returnedSellingManagerProductType
= null;
- GetSellingManagerInventoryCall call = new
GetSellingManagerInventoryCall(EbayStoreHelper.getApiContext(productStoreId,
locale, delegator));
- resp =
(GetSellingManagerInventoryResponseType)call.execute(req);
- if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
- returnedSellingManagerProductType =
resp.getSellingManagerProduct();
- for (int i = 0; i <
returnedSellingManagerProductType.length; i++) {
- SellingManagerProductDetailsType prodDetailType =
returnedSellingManagerProductType[i].getSellingManagerProductDetails();
- String productIdInv =
Long.toString(prodDetailType.getProductID());
- if (productId.equals(productIdInv)) {
- int qty = prodDetailType.getQuantityAvailable();
- if (qty > 0) {
- int newQty = qty - 1;
- prodDetailType.setQuantityAvailable(newQty);
- ReviseSellingManagerProductCall revProdCall =
new
ReviseSellingManagerProductCall(EbayStoreHelper.getApiContext(productStoreId,
locale, delegator));
- ReviseSellingManagerProductRequestType revReq
= new ReviseSellingManagerProductRequestType();
- ReviseSellingManagerProductResponseType
revResp = null;
-
revReq.setSellingManagerProductDetails(prodDetailType);
- revResp =
(ReviseSellingManagerProductResponseType) revProdCall.execute(revReq);
- if (revResp != null &&
"SUCCESS".equals(revResp.getAck().toString())) {
- Debug.logInfo(" Already update quantity
on eBay inventory with product id
::"+revResp.getSellingManagerProductDetails().getProductID(), module);
- } else {
-
EbayStoreHelper.createErrorLogMessage(userLogin, dispatcher, productStoreId,
revResp.getAck().toString(), "ReviseSellingManagerProductCall :
updateQuantityInventoryProduct", revResp.getErrors(0).getLongMessage());
- }
- }
- }
- }
- } else {
- EbayStoreHelper.createErrorLogMessage(userLogin,
dispatcher, productStoreId, resp.getAck().toString(),
"GetSellingManagerInventoryCall : updateQuantityInventoryProduct",
resp.getErrors(0).getLongMessage());
- }
- }
- } catch (Exception e) {
- Debug.logError(e.getMessage(), module);
- }
- }
-
- public static Map<String, Map<String, List<String>>>
categorySpecifics(String categoryId, HttpServletRequest request) {
- Map<String, Map<String, List<String>>> recommendationMap = new
HashMap<String, Map<String,List<String>>>();
- Delegator delegator = (Delegator) request.getAttribute("delegator");
- Map<String,Object> requestParams = UtilHttp.getParameterMap(request);
- Locale locale = UtilHttp.getLocale(request);
- String productStoreId = (String) requestParams.get("productStoreId");
-
- try {
- ApiContext apiContext =
EbayStoreHelper.getApiContext(productStoreId, locale, delegator);
- GetCategorySpecificsCall categorySpecifics = new
GetCategorySpecificsCall(apiContext);
- String[] categoryIds = {categoryId};
- categorySpecifics.setCategoryID(categoryIds);
- DetailLevelCodeType[] detailLevel = new DetailLevelCodeType[] {
- DetailLevelCodeType.RETURN_ALL,
- DetailLevelCodeType.ITEM_RETURN_ATTRIBUTES,
- DetailLevelCodeType.ITEM_RETURN_DESCRIPTION
- };
- categorySpecifics.setDetailLevel(detailLevel);
- RecommendationsType[] recommend =
categorySpecifics.getCategorySpecifics();
-
- for (int i = 0; i < recommend.length; i++) {
- NameRecommendationType[] nameRecommend =
recommend[i].getNameRecommendation();
- Map<String, List<String>> nameRecommendationMap = new
HashMap<String, List<String>>();
- for (int j = 0; j < nameRecommend.length; j++) {
- String name = nameRecommend[j].getName();
- List<String> valueList = new LinkedList<String>();
- ValueRecommendationType[] valueRecommend =
nameRecommend[j].getValueRecommendation();
- for (int k = 0; k < valueRecommend.length; k++) {
- String value = valueRecommend[k].getValue();
- valueList.add(value);
- }
- nameRecommendationMap.put(name, valueList);
- }
- recommendationMap.put("categorySpecifics",
nameRecommendationMap);
- }
- } catch (Exception e) {
- Debug.logError(e.getMessage(), module);
- return null;
- }
- return recommendationMap;
- }
-}
+/*
+ * 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.
+ */
+package org.ofbiz.ebaystore;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.ofbiz.base.util.Debug;
+import org.ofbiz.base.util.UtilGenerics;
+import org.ofbiz.base.util.UtilHttp;
+import org.ofbiz.base.util.UtilMisc;
+import org.ofbiz.base.util.UtilValidate;
+import org.ofbiz.entity.Delegator;
+import org.ofbiz.entity.GenericEntityException;
+import org.ofbiz.entity.GenericValue;
+import org.ofbiz.entity.util.EntityQuery;
+import org.ofbiz.service.GenericServiceException;
+import org.ofbiz.service.LocalDispatcher;
+
+import com.ebay.sdk.ApiContext;
+import com.ebay.sdk.ApiException;
+import com.ebay.sdk.SdkException;
+import com.ebay.sdk.call.AddItemCall;
+import com.ebay.sdk.call.GetCategorySpecificsCall;
+import com.ebay.sdk.call.GetSellingManagerInventoryCall;
+import com.ebay.sdk.call.ReviseSellingManagerProductCall;
+import com.ebay.sdk.call.VerifyAddItemCall;
+import com.ebay.soap.eBLBaseComponents.AmountType;
+import com.ebay.soap.eBLBaseComponents.CategoryType;
+import com.ebay.soap.eBLBaseComponents.CountryCodeType;
+import com.ebay.soap.eBLBaseComponents.CurrencyCodeType;
+import com.ebay.soap.eBLBaseComponents.DetailLevelCodeType;
+import com.ebay.soap.eBLBaseComponents.FeeType;
+import com.ebay.soap.eBLBaseComponents.FeesType;
+import com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryRequestType;
+import com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryResponseType;
+import com.ebay.soap.eBLBaseComponents.ItemType;
+import com.ebay.soap.eBLBaseComponents.ListingDesignerType;
+import com.ebay.soap.eBLBaseComponents.ListingTypeCodeType;
+import com.ebay.soap.eBLBaseComponents.NameRecommendationType;
+import com.ebay.soap.eBLBaseComponents.NameValueListArrayType;
+import com.ebay.soap.eBLBaseComponents.NameValueListType;
+import com.ebay.soap.eBLBaseComponents.PictureDetailsType;
+import com.ebay.soap.eBLBaseComponents.RecommendationsType;
+import com.ebay.soap.eBLBaseComponents.ReturnPolicyType;
+import com.ebay.soap.eBLBaseComponents.ReviseSellingManagerProductRequestType;
+import com.ebay.soap.eBLBaseComponents.ReviseSellingManagerProductResponseType;
+import com.ebay.soap.eBLBaseComponents.SellingManagerProductDetailsType;
+import com.ebay.soap.eBLBaseComponents.SellingManagerProductType;
+import com.ebay.soap.eBLBaseComponents.ShippingDetailsType;
+import com.ebay.soap.eBLBaseComponents.ShippingServiceDetailsType;
+import com.ebay.soap.eBLBaseComponents.ShippingServiceOptionsType;
+import com.ebay.soap.eBLBaseComponents.ShippingTypeCodeType;
+import com.ebay.soap.eBLBaseComponents.SiteCodeType;
+import com.ebay.soap.eBLBaseComponents.StoreCustomCategoryType;
+import com.ebay.soap.eBLBaseComponents.StorefrontType;
+import com.ebay.soap.eBLBaseComponents.VATDetailsType;
+import com.ebay.soap.eBLBaseComponents.ValueRecommendationType;
+import com.ebay.soap.eBLBaseComponents.VerifyAddItemRequestType;
+import com.ebay.soap.eBLBaseComponents.VerifyAddItemResponseType;
+import com.ebay.soap.eBLBaseComponents.WarningLevelCodeType;
+import com.ebay.soap.eBLBaseComponents.AddItemRequestType;
+import com.ebay.soap.eBLBaseComponents.AddItemResponseType;
+
+public class EbayEvents {
+
+ private static final int SHIPPING_SERVICE_ID_LIMIT = 50000;
+ public static final String module = EbayEvents.class.getName();
+
+ public static String sendLeaveFeedback(HttpServletRequest request,
HttpServletResponse response) {
+ HttpSession session = request.getSession(true);
+ LocalDispatcher dispatcher = (LocalDispatcher)
request.getAttribute("dispatcher");
+ Map<String, Object> requestParams = UtilHttp.getParameterMap(request);
+ GenericValue userLogin = (GenericValue)
session.getAttribute("userLogin");
+ int feedbackSize =
Integer.parseInt((String)requestParams.get("feedbackSize"));
+ String productStoreId = (String)requestParams.get("productStoreId");
+ for (int i = 1; i <= feedbackSize; i++) {
+ String commentType = (String)requestParams.get("commentType"+i);
+ String commentText = (String)requestParams.get("commentText"+i);
+ if (!commentType.equals("none") && commentText != null) {
+ String itemId = (String)requestParams.get("itemId"+i);
+ String transactionId =
(String)requestParams.get("transactionId"+i);
+ String targetUser = (String)requestParams.get("targetUser"+i);
+ String commentingUser =
(String)requestParams.get("commentingUser"+i);
+ String role = (String)requestParams.get("role"+i);
+ String ratingItem = (String)requestParams.get("ratingItem"+i);
+ String ratingComm = (String)requestParams.get("ratingComm"+i);
+ String ratingShip = (String)requestParams.get("ratingShip"+i);
+ String ratingShipHand =
(String)requestParams.get("ratingShipHand"+i);
+ String AqItemAsDescribedId =
(String)requestParams.get("AqItemAsDescribedId"+i);
+
+ Map<String, Object> leavefeedback = new HashMap<String,
Object>();
+ leavefeedback.put("productStoreId", productStoreId);
+ leavefeedback.put("userLogin", userLogin);
+ leavefeedback.put("itemId", itemId);
+ leavefeedback.put("transactionId", transactionId);
+ leavefeedback.put("targetUser", targetUser);
+ leavefeedback.put("commentingUser", commentingUser);
+ leavefeedback.put("role", role);
+ leavefeedback.put("commentText", commentText);
+ leavefeedback.put("commentType", commentType);
+ leavefeedback.put("ratingItem", ratingItem);
+ leavefeedback.put("ratingComm", ratingComm);
+ leavefeedback.put("ratingShip", ratingShip);
+ leavefeedback.put("ratingShipHand", ratingShipHand);
+ leavefeedback.put("AqItemAsDescribedId", AqItemAsDescribedId);
+ // Call service
+ try {
+ dispatcher.runSync("leaveFeedback", leavefeedback);
+ } catch (GenericServiceException e) {
+ Debug.logError(e, module);
+ request.setAttribute("_ERROR_MESSAGE_","Exception:
".concat(e.getMessage()));
+ return "error";
+ }
+ }
+ }
+ return "success";
+ }
+ /* event to add products to prepare create & export listing */
+ public static String addProductListing(HttpServletRequest request,
HttpServletResponse response) {
+ Delegator delegator = (Delegator) request.getAttribute("delegator");
+ Map<String,Object> requestParams = UtilHttp.getParameterMap(request);
+ Locale locale = UtilHttp.getLocale(request);
+
+ if (UtilValidate.isEmpty(requestParams.get("productStoreId"))) {
+ request.setAttribute("_ERROR_MESSAGE_","Required productStoreId
and selected products.");
+ return "error";
+ }
+ List<String> productIds =
UtilGenerics.checkList(requestParams.get("productIds"));
+ if (UtilValidate.isNotEmpty(requestParams.get("productIds"))) {
+ productIds =
UtilGenerics.checkList(requestParams.get("productIds"));
+ } else if (UtilValidate.isNotEmpty(requestParams.get("selectResult")))
{
+ try {
+ productIds =
UtilGenerics.checkList(requestParams.get("selectResult"));
+ } catch (ClassCastException e) {
+ if (UtilValidate.isEmpty(productIds)) productIds = new
LinkedList<String>();
+ productIds.add((String) requestParams.get("selectResult"));
+ }
+ } else {
+ request.setAttribute("_ERROR_MESSAGE_","Required productStoreId
and selected products.");
+ return "error";
+ }
+ String productStoreId = (String) requestParams.get("productStoreId");
+
+ ApiContext apiContext = EbayStoreHelper.getApiContext(productStoreId,
locale, delegator);
+ //String webSiteUrl = (String) requestParams.get("webSiteUrl");
+ String webSiteUrl = "http://demo-trunk.ofbiz.apache.org";
+ Map<String,Object> addItemObject = getAddItemListingObject(request,
apiContext);
+ List<Map<String,Object>> itemObjs = null;
+ if (UtilValidate.isNotEmpty(addItemObject.get("itemListings"))) {
+ itemObjs =
UtilGenerics.checkList(addItemObject.get("itemListings"));
+ } else {
+ itemObjs = new LinkedList<Map<String,Object>>();
+ }
+
+ if (UtilValidate.isNotEmpty(productIds)) {
+ try {
+ // check add new product obj ? to export
+ for (String productId : productIds) {
+ for (Map<String,Object> itObj : itemObjs) {
+ if
(UtilValidate.isNotEmpty(itObj.get(productId.concat("_Obj")))) {
+ productIds.remove(productId);
+ }
+ }
+ }
+ Debug.logInfo("run in with productIds "+productIds, module);
+ for (String productId : productIds) {
+ AddItemCall addItemCall = new AddItemCall(apiContext);
+ ItemType item = new ItemType();
+ GenericValue product =
EntityQuery.use(delegator).from("Product").where("productId",
productId).queryOne();
+ item.setTitle(product.getString("internalName"));
+ item.setCurrency(CurrencyCodeType.USD);
+ String productDescription = "";
+ String description = product.getString("description");
+ String longDescription =
product.getString("longDescription");
+ if (UtilValidate.isNotEmpty(description)) {
+ productDescription = description;
+ } else if (UtilValidate.isNotEmpty(longDescription)) {
+ productDescription = longDescription;
+ } else if
(UtilValidate.isNotEmpty(product.getString("productName"))) {
+ productDescription = product.getString("productName");
+ }
+ item.setDescription(productDescription);
+ item.setSKU(product.getString("productId"));
+ item.setApplicationData(product.getString("productId"));
+ item.setCountry(CountryCodeType.US);
+ item.setQuantity(1);
+ String smallImage = product.getString("smallImageUrl");
+ String mediumImage = product.getString("mediumImageUrl");
+ String largeImage = product.getString("largeImageUrl");
+ String ebayImage = null;
+ if (UtilValidate.isNotEmpty(largeImage)) {
+ ebayImage = largeImage;
+ } else if (UtilValidate.isNotEmpty(mediumImage)) {
+ ebayImage = mediumImage;
+ } else if (UtilValidate.isNotEmpty(smallImage)) {
+ ebayImage = smallImage;
+ }
+ if (UtilValidate.isNotEmpty(ebayImage)) {
+ PictureDetailsType pic = new PictureDetailsType();
+ String pictureUrl = webSiteUrl + ebayImage;
+ String[] picURL = new String[1];
+ picURL[0] = pictureUrl;
+ //String[] picURL = {webSiteUrl + ebayImage};
+ //pic.setPictureURL(picURL);
+ pic.setPictureURL(picURL);
+ item.setPictureDetails(pic);
+ }
+ item.setCategoryMappingAllowed(true);
+ item.setSite(apiContext.getSite());
+ addItemCall.setSite(apiContext.getSite());
+ addItemCall.setItem(item);
+ addItemCall.setWarningLevel(WarningLevelCodeType.HIGH);
+
+ Map<String,Object> itemListing = null;
+ for (Map<String,Object> itemObj : itemObjs) {
+ if
(UtilValidate.isNotEmpty(itemObj.get(productId.concat("_Obj")))) {
+ itemListing =
UtilGenerics.checkMap(itemObj.get(productId.concat("_Obj")));
+ itemListing.put("addItemCall", addItemCall);
+ itemListing.put("productId", productId);
+ break;
+ }
+ }
+ if (UtilValidate.isEmpty(itemListing)) {
+ itemListing = new HashMap<String, Object>();
+ itemListing.put("addItemCall", addItemCall);
+ itemListing.put("productId", productId);
+ }
+ itemObjs.add(itemListing);
+ }
+ addItemObject.put("itemListing", itemObjs);
+ } catch (Exception e) {
+ Debug.logError(e.getMessage(), module);
+ request.setAttribute("_ERROR_MESSAGE_","Exception:
".concat(e.getMessage()));
+ return "error";
+ }
+ }
+ return "success";
+ }
+
+ public static String prepareEbaySiteFacadeObject(HttpServletRequest
request, HttpServletResponse response) {
+ HttpSession session = request.getSession(true);
+ if (request.getParameter("productStoreId") == null) {
+ return "error";
+ }
+ ApiContext apiContext = getApiContext(request);
+ try {
+ if (UtilValidate.isNotEmpty(apiContext)) {
+ String siteCode = apiContext.getSite().name();
+ if
(UtilValidate.isNotEmpty(session.getAttribute("itemListings_".concat(siteCode))))
{
+ request.setAttribute("productStoreId",
request.getParameter("productStoreId"));
+ return "prepare";
+ }
+ getSiteFacade(apiContext,request);
+ } else {
+ request.setAttribute("_ERROR_MESSAGE_","No apiContext for this
account or this site please register on ebay or check you user account.");
+ return "error";
+ }
+ } catch (ApiException e) {
+ request.setAttribute("_ERROR_MESSAGE_","ApiException
".concat(e.getMessage()));
+ return "error";
+ } catch (SdkException e) {
+ request.setAttribute("_ERROR_MESSAGE_","SdkException
".concat(e.getMessage()));
+ return "error";
+ } catch (Exception e) {
+ request.setAttribute("_ERROR_MESSAGE_","Exception
".concat(e.getMessage()));
+ return "error";
+ }
+ return "success";
+ }
+
+ public static EbayStoreSiteFacade getSiteFacade(ApiContext apiContext,
HttpServletRequest request) throws ApiException, SdkException, Exception{
+ String siteFacadeName = null;
+ EbayStoreSiteFacade siteFacade = null;
+
+ if (request.getParameter("productStoreId") == null) {
+ Debug.logError("Required productStoreId for get ebay
information.", module);
+ return siteFacade;
+ }
+
+ HttpSession session = request.getSession(true);
+ if (UtilValidate.isNotEmpty(apiContext)) {
+ siteFacadeName =
"siteFacade".concat("_".concat(apiContext.getSite().name()));
+ }
+
+ if (UtilValidate.isEmpty(session.getAttribute(siteFacadeName))) {
+ session.setAttribute(siteFacadeName,new
EbayStoreSiteFacade(apiContext));
+ if (UtilValidate.isNotEmpty(session.getAttribute(siteFacadeName)))
{
+ siteFacade =
(EbayStoreSiteFacade)session.getAttribute(siteFacadeName);
+ }
+ } else {
+ siteFacade =
(EbayStoreSiteFacade)session.getAttribute(siteFacadeName);
+ }
+ Debug.logInfo("loaded session for ebay site Facade is
".concat(siteFacadeName).concat(session.getAttribute(siteFacadeName).toString()),module);
+ return siteFacade;
+ }
+
+ public static ApiContext getApiContext(HttpServletRequest request) {
+ Locale locale = UtilHttp.getLocale(request);
+ Delegator delegator = (Delegator) request.getAttribute("delegator");
+
+ if (request.getParameter("productStoreId") == null &&
request.getAttribute("productStoreId") == null) {
+ Debug.logError("Required productStoreId for get ebay API config
data.", module);
+ return null;
+ }
[... 853 lines stripped ...]
Propchange:
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayEvents.java
('svn:eol-style' removed)