Modified:
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreInventoryServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreInventoryServices.java?rev=1695126&r1=1695125&r2=1695126&view=diff
==============================================================================
---
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreInventoryServices.java
(original)
+++
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreInventoryServices.java
Mon Aug 10 16:15:37 2015
@@ -1,406 +1,406 @@
-/*
- * 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.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-import org.ofbiz.base.util.Debug;
-import org.ofbiz.base.util.UtilMisc;
-import org.ofbiz.base.util.UtilProperties;
-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.DispatchContext;
-import org.ofbiz.service.GenericServiceException;
-import org.ofbiz.service.LocalDispatcher;
-import org.ofbiz.service.ServiceUtil;
-
-import com.ebay.sdk.ApiException;
-import com.ebay.sdk.SdkException;
-import com.ebay.sdk.SdkSoapException;
-import com.ebay.sdk.call.AddSellingManagerInventoryFolderCall;
-import com.ebay.sdk.call.AddSellingManagerProductCall;
-import com.ebay.sdk.call.GetSellingManagerInventoryCall;
-import com.ebay.sdk.call.GetSellingManagerInventoryFolderCall;
-import com.ebay.sdk.call.ReviseSellingManagerProductCall;
-import
com.ebay.soap.eBLBaseComponents.AddSellingManagerInventoryFolderRequestType;
-import
com.ebay.soap.eBLBaseComponents.AddSellingManagerInventoryFolderResponseType;
-import com.ebay.soap.eBLBaseComponents.AddSellingManagerProductRequestType;
-import com.ebay.soap.eBLBaseComponents.AddSellingManagerProductResponseType;
-import
com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryFolderRequestType;
-import
com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryFolderResponseType;
-import com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryRequestType;
-import com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryResponseType;
-import com.ebay.soap.eBLBaseComponents.ReviseSellingManagerProductRequestType;
-import com.ebay.soap.eBLBaseComponents.ReviseSellingManagerProductResponseType;
-import com.ebay.soap.eBLBaseComponents.SellingManagerFolderDetailsType;
-import com.ebay.soap.eBLBaseComponents.SellingManagerProductDetailsType;
-import
com.ebay.soap.eBLBaseComponents.SellingManagerProductInventoryStatusType;
-import com.ebay.soap.eBLBaseComponents.SellingManagerProductType;
-
-public class EbayStoreInventoryServices {
- private static final String module =
EbayStoreInventoryServices.class.getName();
- public static final String resource = "EbayStoreUiLabels";
- private static final String defaultFolderName = "OFBizProducts";
- private static String folderId = null;
- public EbayStoreInventoryServices() {
- // TODO Auto-generated constructor stub
- }
- /*update inventory on ebay site*/
- public static Map<String,Object> updateEbayStoreInventory(DispatchContext
dctx, Map<String,Object> context) {
- Map<String,Object> result = new HashMap<String, Object>();
- GenericValue userLogin = (GenericValue) context.get("userLogin");
- Locale locale = (Locale) context.get("locale");
- Delegator delegator = dctx.getDelegator();
- GetSellingManagerInventoryRequestType invenReq = null;
- GetSellingManagerInventoryResponseType invenResp = null;
- boolean checkProd = false;
- boolean status = false;
- try {
- if (context.get("productStoreId") == null ||
context.get("productId") == null || context.get("folderId") == null) {
- result =
ServiceUtil.returnError(UtilProperties.getMessage(resource,
"EbayStoreInventoryFolderIdRequired", locale));
- result.put("productStoreId", context.get("productStoreId"));
- result.put("facilityId", context.get("facilityId"));
- result.put("folderId", context.get("folderId"));
- return result;
- }
-
- String productId = (String)context.get("productId");
- String folderId = (String)context.get("folderId");
- // start upload/update products which selected to an ebay
inventory
- if (folderId != null) {
- GetSellingManagerInventoryCall invenCall = new
GetSellingManagerInventoryCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"),
locale, delegator));
- invenReq = new GetSellingManagerInventoryRequestType();
- invenResp = (GetSellingManagerInventoryResponseType)
invenCall.execute(invenReq);
- if (invenResp != null &&
"SUCCESS".equals(invenResp.getAck().toString())) {
- GenericValue ebayProductStoreInventory =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("productId",
productId, "facilityId", context.get("facilityId"), "productStoreId",
context.get("productStoreId")).queryOne();
-
- SellingManagerProductType[] sellingManagerProductTypeList
= invenResp.getSellingManagerProduct();
- for (SellingManagerProductType sellingManagerProductType :
sellingManagerProductTypeList) {
- SellingManagerProductDetailsType
sellingManagerProductDetailsType =
sellingManagerProductType.getSellingManagerProductDetails();
- if
(String.valueOf(sellingManagerProductDetailsType.getFolderID()).equals(folderId)
&&
String.valueOf(sellingManagerProductDetailsType.getProductID()).equals(String.valueOf(ebayProductStoreInventory.getLong("ebayProductId")))
&&
String.valueOf(sellingManagerProductDetailsType.getCustomLabel()).equals(productId))
{
- checkProd = true;
- break;
- }
- }
- } else {
- EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
invenResp.getAck().toString(), "GetSellingManagerInventoryCall :
updateEbayStoreInventory", invenResp.getErrors(0).getLongMessage());
- }
-
- // checkProduct is true then update detail but is false do
create new one.
- if (checkProd) {
- status = updateProductInEbayInventoryFolder(dctx,context);
- } else {
- status =
createNewProductInEbayInventoryFolder(dctx,context);
- }
- if (status) {
- Debug.logInfo("Done to updated product
".concat(context.get("productId").toString()), module);
- result =
ServiceUtil.returnSuccess(UtilProperties.getMessage(resource,
"EbayStoreInventoryFolderIdUpdated", UtilMisc.toMap("folderId",
context.get("folderId")), locale));
- } else {
- result =
ServiceUtil.returnError(UtilProperties.getMessage(resource,
"EbayStoreInventoryFolderIdUpdatedFailed", locale));
- }
- }
- }catch (ApiException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- } catch (SdkSoapException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- } catch (SdkException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- } catch (GenericEntityException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- }
- result.put("productStoreId", context.get("productStoreId"));
- result.put("facilityId", context.get("facilityId"));
- result.put("folderId", context.get("folderId"));
- return result;
- }
-
- /* add new product and quantity to ebay inventory */
- public static boolean
createNewProductInEbayInventoryFolder(DispatchContext dctx, Map<String,Object>
context) {
- GenericValue userLogin = (GenericValue) context.get("userLogin");
- Locale locale = (Locale) context.get("locale");
- Delegator delegator = dctx.getDelegator();
- AddSellingManagerProductRequestType productReq = null;
- AddSellingManagerProductResponseType productResp = null;
- boolean flag = false;
-
- try {
- if (context.get("productStoreId") != null &&
context.get("productId") != null && context.get("folderId") != null) {
- String productId = (String)context.get("productId");
- String folderId = (String)context.get("folderId");
- AddSellingManagerProductCall productCall = new
AddSellingManagerProductCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"),
locale, delegator));
- productReq = new AddSellingManagerProductRequestType();
- productReq.setFolderID(new Long(folderId));
- SellingManagerProductDetailsType
sellingManagerProductDetailsType = new SellingManagerProductDetailsType();
- GenericValue ebayProductStoreInventory =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("productId",
productId, "facilityId", context.get("facilityId"), "productStoreId",
context.get("productStoreId")).queryOne();
-
-
sellingManagerProductDetailsType.setProductName((EntityQuery.use(delegator).from("Product").where("productId",
productId).queryOne()).getString("internalName"));
- //Must keep productId in SKU NUMBER because ebay allow
productId field only long value.
- sellingManagerProductDetailsType.setCustomLabel(productId);
- if (ebayProductStoreInventory!=null)
sellingManagerProductDetailsType.setQuantityAvailable(ebayProductStoreInventory.getBigDecimal("availableToPromiseListing").intValue());
-
-
productReq.setSellingManagerProductDetails(sellingManagerProductDetailsType);
- productResp = (AddSellingManagerProductResponseType)
productCall.execute(productReq);
- if (productResp != null &&
"SUCCESS".equals(productResp.getAck().toString())) {
- flag = true;
- ebayProductStoreInventory.put("ebayProductId",
productResp.getSellingManagerProductDetails().getProductID());
- ebayProductStoreInventory.put("folderId", folderId);
- ebayProductStoreInventory.store();
- } else {
- EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
productResp.getAck().toString(), "AddSellingManagerProductCall :
createNewProductInEbayInventoryFolder",
productResp.getErrors(0).getLongMessage());
- Debug.logError("Fail to create inventory product
".concat(productId).concat("in productStore
").concat(context.get("productStoreId").toString()).concat(" message from ebay
: ").concat(productResp.getMessage()), module);
- }
- }
- } catch (ApiException e) {
- Debug.logError(e.getMessage(), module);
- } catch (SdkSoapException e) {
- Debug.logError(e.getMessage(), module);
- } catch (SdkException e) {
- Debug.logError(e.getMessage(), module);
- } catch (GenericEntityException e) {
- Debug.logError(e.getMessage(), module);
- }
- return flag;
- }
-
- /* update product and quantity to ebay inventory */
- public static boolean updateProductInEbayInventoryFolder(DispatchContext
dctx, Map<String,Object> context) {
- GenericValue userLogin = (GenericValue) context.get("userLogin");
- Locale locale = (Locale) context.get("locale");
- Delegator delegator = dctx.getDelegator();
- ReviseSellingManagerProductRequestType req = null;
- ReviseSellingManagerProductResponseType resp = null;
- boolean flag = false;
-
- try {
- if (context.get("productStoreId") != null &&
context.get("productId") != null && context.get("folderId") != null) {
- String productId = (String)context.get("productId");
- String folderId = (String)context.get("folderId");
- ReviseSellingManagerProductCall call = new
ReviseSellingManagerProductCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"),
locale, delegator));
- req = new ReviseSellingManagerProductRequestType();
- SellingManagerProductDetailsType
sellingManagerProductDetailsType = new SellingManagerProductDetailsType();
- GenericValue ebayProductStoreInventory =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("productId",
productId, "facilityId", context.get("facilityId"), "productStoreId",
context.get("productStoreId")).queryOne();
- Long ebayProductId = null;
- if (ebayProductStoreInventory != null &&
ebayProductStoreInventory.getLong("ebayProductId") == null) {
- Debug.logError("Can not update product "+productId+" has
no ebay product Id in EbayProductStoreInventory. ", module);
- return flag;
- }
- if (ebayProductStoreInventory != null &&
ebayProductStoreInventory.getLong("ebayProductId") != null) {
- ebayProductId =
ebayProductStoreInventory.getLong("ebayProductId");
- }
- sellingManagerProductDetailsType.setProductID(ebayProductId);
-
-
sellingManagerProductDetailsType.setProductName((EntityQuery.use(delegator).from("Product").where("productId",
productId).queryOne()).getString("internalName"));
- //Must keep productId in SKU NUMBER because ebay allow
productId field only long value.
- sellingManagerProductDetailsType.setCustomLabel(productId);
- if (ebayProductStoreInventory!=null)
sellingManagerProductDetailsType.setQuantityAvailable(ebayProductStoreInventory.getBigDecimal("availableToPromiseListing").intValue());
-
-
req.setSellingManagerProductDetails(sellingManagerProductDetailsType);
- resp = (ReviseSellingManagerProductResponseType)
call.execute(req);
- if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
- flag = true;
- ebayProductStoreInventory.put("ebayProductId",
ebayProductId);
- ebayProductStoreInventory.put("folderId", folderId);
- ebayProductStoreInventory.store();
- } else {
- EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
resp.getAck().toString(), "ReviseSellingManagerProductCall :
updateProductInEbayInventoryFolder", resp.getErrors(0).getLongMessage());
- Debug.logError("Fail to update inventory product
".concat(productId).concat("in productStore
").concat(context.get("productStoreId").toString()).concat(" message from ebay
: ").concat(resp.getMessage()), module);
- }
- }
- } catch (ApiException e) {
- Debug.logError(e.getMessage(), module);
- } catch (SdkSoapException e) {
- Debug.logError(e.getMessage(), module);
- } catch (SdkException e) {
- Debug.logError(e.getMessage(), module);
- } catch (GenericEntityException e) {
- Debug.logError(e.getMessage(), module);
- }
- return flag;
- }
-
- public static Map<String,Object>
getFolderInEbayStoreInventory(DispatchContext dctx, Map<String,Object> context)
{
- Map<String,Object> result = new HashMap<String, Object>();
- GenericValue userLogin = (GenericValue) context.get("userLogin");
- Locale locale = (Locale) context.get("locale");
- Delegator delegator = dctx.getDelegator();
- GetSellingManagerInventoryFolderRequestType req = null;
- GetSellingManagerInventoryFolderResponseType resp = null;
- boolean flag = false;
-
- try {
- if (context.get("productStoreId") != null) {
- GetSellingManagerInventoryFolderCall call = new
GetSellingManagerInventoryFolderCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"),
locale, delegator));
- req = new GetSellingManagerInventoryFolderRequestType();
- resp = (GetSellingManagerInventoryFolderResponseType)
call.execute(req);
- if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
- SellingManagerFolderDetailsType
sellingManagerFolderDetailsType = resp.getFolder();
- if (sellingManagerFolderDetailsType != null) {
- SellingManagerFolderDetailsType[]
SellingManagerFolderDetailsTypeList =
sellingManagerFolderDetailsType.getChildFolder();
- for (SellingManagerFolderDetailsType
sellingManagerFolderDetails : SellingManagerFolderDetailsTypeList) {
- Debug.logInfo("ebay inventory folders name
".concat(sellingManagerFolderDetails.getFolderName()), module);
- if
(sellingManagerFolderDetails.getFolderName().equals(defaultFolderName)) {
- folderId =
String.valueOf(sellingManagerFolderDetails.getFolderID());
- flag = true;
- break;
- }
- }
- }
- if (!flag) {
- folderId =
createNewFolderInEbayStoreInventory(dctx,context);
- }
- } else {
- EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
resp.getAck().toString(), "GetSellingManagerInventoryFolderCall :
getFolderInEbayStoreInventory", resp.getErrors(0).getLongMessage());
- }
- result =
ServiceUtil.returnSuccess(UtilProperties.getMessage(resource,
"EbayStoreInventoryFolderIdLoaded", UtilMisc.toMap("folderId", folderId),
locale));
- }
- } catch (ApiException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- } catch (SdkSoapException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- } catch (SdkException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- }
- if (result.get("responseMessage") != null &&
result.get("responseMessage").equals("fail")) folderId = null;
- result.put("folderId", folderId);
- Debug.logInfo("service return result "+ result, module);
- return result;
- }
-
- /*create new folder for export product into inventory.*/
- public static String createNewFolderInEbayStoreInventory(DispatchContext
dctx, Map<String,Object> context) {
- Locale locale = (Locale) context.get("locale");
- GenericValue userLogin = (GenericValue) context.get("userLogin");
- Delegator delegator = dctx.getDelegator();
- AddSellingManagerInventoryFolderRequestType req = null;
- AddSellingManagerInventoryFolderResponseType resp = null;
-
- try {
- if (context.get("productStoreId") != null) {
- AddSellingManagerInventoryFolderCall call = new
AddSellingManagerInventoryFolderCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"),
locale, delegator));
- req = new AddSellingManagerInventoryFolderRequestType();
-
req.setFolderName(defaultFolderName);//req.setComment(value);//req.setParentFolderID(value)
- resp = (AddSellingManagerInventoryFolderResponseType)
call.execute(req);
- if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
- folderId = String.valueOf(resp.getFolderID());
- } else {
- EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
resp.getAck().toString(), "AddSellingManagerInventoryFolderCall :
createNewFolderInEbayStoreInventory", resp.getErrors(0).getLongMessage());
- Debug.logError("The problem with create new folder on ebay
site.", module);
- return folderId;
- }
- }
- } catch (ApiException e) {
- Debug.logError(e.getMessage(), module);
- } catch (SdkSoapException e) {
- Debug.logError(e.getMessage(), module);
- } catch (SdkException e) {
- Debug.logError(e.getMessage(), module);
- }
- return folderId;
- }
-
- /* update inventory status from ebay store inventory */
- public static Map<String,Object>
updateEbayInventoryStatusByProductId(DispatchContext dctx, Map<String,Object>
context) {
- Locale locale = (Locale) context.get("locale");
- GenericValue userLogin = (GenericValue) context.get("userLogin");
- Map<String,Object> result = new HashMap<String, Object>();
- Delegator delegator = dctx.getDelegator();
- String productStoreId = (String)context.get("productStoreId");
- String facilityId = (String)context.get("facilityId");
- String folderId = (String)context.get("folderId");
- String productId = (String)context.get("productId");
- String ebayProductId = null;
- GetSellingManagerInventoryRequestType req = null;
- GetSellingManagerInventoryResponseType resp = null;
- GenericValue ebayProductStoreInventory = null;
-
- if (context.get("ebayProductId") != null) {
- ebayProductId = String.valueOf(context.get("ebayProductId"));
- }
- try {
- if (productStoreId != null && ebayProductId != null) {
- ebayProductStoreInventory =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("productId",
productId, "facilityId", facilityId, "productStoreId",
productStoreId).queryOne();
- GetSellingManagerInventoryCall call = new
GetSellingManagerInventoryCall(EbayStoreHelper.getApiContext(productStoreId,
locale, delegator));
- req = new GetSellingManagerInventoryRequestType();
- resp = (GetSellingManagerInventoryResponseType)
call.execute(req);
- if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
- SellingManagerProductType[] sellingManagerProductTypeList
= resp.getSellingManagerProduct();
- for (SellingManagerProductType sellingManagerProductType :
sellingManagerProductTypeList) {
- SellingManagerProductDetailsType productDetail =
sellingManagerProductType.getSellingManagerProductDetails();
- if
(String.valueOf(productDetail.getFolderID()).equals(folderId) &&
String.valueOf(productDetail.getProductID()).equals(ebayProductId) &&
String.valueOf(productDetail.getCustomLabel()).equals(productId)) {
- SellingManagerProductInventoryStatusType
prodInventoryStatus =
sellingManagerProductType.getSellingManagerProductInventoryStatus();
- ebayProductStoreInventory.put("activeListing",new
BigDecimal(prodInventoryStatus.getQuantityActive()));
- ebayProductStoreInventory.put("scheduled",new
BigDecimal(prodInventoryStatus.getQuantityScheduled()));
- ebayProductStoreInventory.put("sold",new
BigDecimal(prodInventoryStatus.getQuantitySold()));
- ebayProductStoreInventory.put("unSold",new
BigDecimal(prodInventoryStatus.getQuantityUnsold()));
- ebayProductStoreInventory.store();
- result =
ServiceUtil.returnSuccess(UtilProperties.getMessage(resource,
"EbayStoreInventoryStatusUpdated", UtilMisc.toMap("productId", productId),
locale));
- break;
- }
- }
- } else {
- EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
resp.getAck().toString(), "GetSellingManagerInventoryCall :
updateEbayInventoryStatusByProductId", resp.getErrors(0).getLongMessage());
- Debug.logError("The problem with get manage inventory
detail from ebay site.", module);
- }
- }
- } catch (ApiException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- } catch (SdkSoapException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- } catch (SdkException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- } catch (GenericEntityException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- }
- result.put("productStoreId", context.get("productStoreId"));
- result.put("facilityId", context.get("facilityId"));
- result.put("folderId", context.get("folderId"));
- result.put("productId", productId);
- return result;
- }
-
- public static Map<String,Object> updateEbayInventoryStatus(DispatchContext
dctx, Map<String,Object> context) {
- LocalDispatcher dispatcher = dctx.getDispatcher();
- Map<String,Object> result = new HashMap<String, Object>();
- Delegator delegator = dctx.getDelegator();
- List<GenericValue> ebayProductStoreInventoryList = null;
-
- try {
- if (context.get("productStoreId") != null &&
context.get("facilityId") != null) {
- ebayProductStoreInventoryList =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("facilityId",(String)context.get("facilityId"),"productStoreId",(String)context.get("productStoreId")).queryList();
- for (GenericValue ebayProductStoreInventory :
ebayProductStoreInventoryList) {
- if (ebayProductStoreInventory.get("ebayProductId") !=
null) {
-
dispatcher.runSync("updateEbayInventoryStatusByProductId",
UtilMisc.toMap("productStoreId", (String)context.get("productStoreId"),
"facilityId", (String)context.get("facilityId"), "folderId",
ebayProductStoreInventory.get("folderId"), "productId",
ebayProductStoreInventory.get("productId"), "ebayProductId",
ebayProductStoreInventory.get("ebayProductId"), "userLogin",
context.get("userLogin")));
- }
- }
- }
- } catch (GenericEntityException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- } catch (GenericServiceException e) {
- result = ServiceUtil.returnFailure(e.getMessage());
- }
- result = ServiceUtil.returnSuccess();
- return result;
- }
-}
+/*
+ * 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.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+import org.ofbiz.base.util.Debug;
+import org.ofbiz.base.util.UtilMisc;
+import org.ofbiz.base.util.UtilProperties;
+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.DispatchContext;
+import org.ofbiz.service.GenericServiceException;
+import org.ofbiz.service.LocalDispatcher;
+import org.ofbiz.service.ServiceUtil;
+
+import com.ebay.sdk.ApiException;
+import com.ebay.sdk.SdkException;
+import com.ebay.sdk.SdkSoapException;
+import com.ebay.sdk.call.AddSellingManagerInventoryFolderCall;
+import com.ebay.sdk.call.AddSellingManagerProductCall;
+import com.ebay.sdk.call.GetSellingManagerInventoryCall;
+import com.ebay.sdk.call.GetSellingManagerInventoryFolderCall;
+import com.ebay.sdk.call.ReviseSellingManagerProductCall;
+import
com.ebay.soap.eBLBaseComponents.AddSellingManagerInventoryFolderRequestType;
+import
com.ebay.soap.eBLBaseComponents.AddSellingManagerInventoryFolderResponseType;
+import com.ebay.soap.eBLBaseComponents.AddSellingManagerProductRequestType;
+import com.ebay.soap.eBLBaseComponents.AddSellingManagerProductResponseType;
+import
com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryFolderRequestType;
+import
com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryFolderResponseType;
+import com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryRequestType;
+import com.ebay.soap.eBLBaseComponents.GetSellingManagerInventoryResponseType;
+import com.ebay.soap.eBLBaseComponents.ReviseSellingManagerProductRequestType;
+import com.ebay.soap.eBLBaseComponents.ReviseSellingManagerProductResponseType;
+import com.ebay.soap.eBLBaseComponents.SellingManagerFolderDetailsType;
+import com.ebay.soap.eBLBaseComponents.SellingManagerProductDetailsType;
+import
com.ebay.soap.eBLBaseComponents.SellingManagerProductInventoryStatusType;
+import com.ebay.soap.eBLBaseComponents.SellingManagerProductType;
+
+public class EbayStoreInventoryServices {
+ private static final String module =
EbayStoreInventoryServices.class.getName();
+ public static final String resource = "EbayStoreUiLabels";
+ private static final String defaultFolderName = "OFBizProducts";
+ private static String folderId = null;
+ public EbayStoreInventoryServices() {
+ // TODO Auto-generated constructor stub
+ }
+ /*update inventory on ebay site*/
+ public static Map<String,Object> updateEbayStoreInventory(DispatchContext
dctx, Map<String,Object> context) {
+ Map<String,Object> result = new HashMap<String, Object>();
+ GenericValue userLogin = (GenericValue) context.get("userLogin");
+ Locale locale = (Locale) context.get("locale");
+ Delegator delegator = dctx.getDelegator();
+ GetSellingManagerInventoryRequestType invenReq = null;
+ GetSellingManagerInventoryResponseType invenResp = null;
+ boolean checkProd = false;
+ boolean status = false;
+ try {
+ if (context.get("productStoreId") == null ||
context.get("productId") == null || context.get("folderId") == null) {
+ result =
ServiceUtil.returnError(UtilProperties.getMessage(resource,
"EbayStoreInventoryFolderIdRequired", locale));
+ result.put("productStoreId", context.get("productStoreId"));
+ result.put("facilityId", context.get("facilityId"));
+ result.put("folderId", context.get("folderId"));
+ return result;
+ }
+
+ String productId = (String)context.get("productId");
+ String folderId = (String)context.get("folderId");
+ // start upload/update products which selected to an ebay
inventory
+ if (folderId != null) {
+ GetSellingManagerInventoryCall invenCall = new
GetSellingManagerInventoryCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"),
locale, delegator));
+ invenReq = new GetSellingManagerInventoryRequestType();
+ invenResp = (GetSellingManagerInventoryResponseType)
invenCall.execute(invenReq);
+ if (invenResp != null &&
"SUCCESS".equals(invenResp.getAck().toString())) {
+ GenericValue ebayProductStoreInventory =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("productId",
productId, "facilityId", context.get("facilityId"), "productStoreId",
context.get("productStoreId")).queryOne();
+
+ SellingManagerProductType[] sellingManagerProductTypeList
= invenResp.getSellingManagerProduct();
+ for (SellingManagerProductType sellingManagerProductType :
sellingManagerProductTypeList) {
+ SellingManagerProductDetailsType
sellingManagerProductDetailsType =
sellingManagerProductType.getSellingManagerProductDetails();
+ if
(String.valueOf(sellingManagerProductDetailsType.getFolderID()).equals(folderId)
&&
String.valueOf(sellingManagerProductDetailsType.getProductID()).equals(String.valueOf(ebayProductStoreInventory.getLong("ebayProductId")))
&&
String.valueOf(sellingManagerProductDetailsType.getCustomLabel()).equals(productId))
{
+ checkProd = true;
+ break;
+ }
+ }
+ } else {
+ EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
invenResp.getAck().toString(), "GetSellingManagerInventoryCall :
updateEbayStoreInventory", invenResp.getErrors(0).getLongMessage());
+ }
+
+ // checkProduct is true then update detail but is false do
create new one.
+ if (checkProd) {
+ status = updateProductInEbayInventoryFolder(dctx,context);
+ } else {
+ status =
createNewProductInEbayInventoryFolder(dctx,context);
+ }
+ if (status) {
+ Debug.logInfo("Done to updated product
".concat(context.get("productId").toString()), module);
+ result =
ServiceUtil.returnSuccess(UtilProperties.getMessage(resource,
"EbayStoreInventoryFolderIdUpdated", UtilMisc.toMap("folderId",
context.get("folderId")), locale));
+ } else {
+ result =
ServiceUtil.returnError(UtilProperties.getMessage(resource,
"EbayStoreInventoryFolderIdUpdatedFailed", locale));
+ }
+ }
+ }catch (ApiException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ } catch (SdkSoapException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ } catch (SdkException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ } catch (GenericEntityException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ }
+ result.put("productStoreId", context.get("productStoreId"));
+ result.put("facilityId", context.get("facilityId"));
+ result.put("folderId", context.get("folderId"));
+ return result;
+ }
+
+ /* add new product and quantity to ebay inventory */
+ public static boolean
createNewProductInEbayInventoryFolder(DispatchContext dctx, Map<String,Object>
context) {
+ GenericValue userLogin = (GenericValue) context.get("userLogin");
+ Locale locale = (Locale) context.get("locale");
+ Delegator delegator = dctx.getDelegator();
+ AddSellingManagerProductRequestType productReq = null;
+ AddSellingManagerProductResponseType productResp = null;
+ boolean flag = false;
+
+ try {
+ if (context.get("productStoreId") != null &&
context.get("productId") != null && context.get("folderId") != null) {
+ String productId = (String)context.get("productId");
+ String folderId = (String)context.get("folderId");
+ AddSellingManagerProductCall productCall = new
AddSellingManagerProductCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"),
locale, delegator));
+ productReq = new AddSellingManagerProductRequestType();
+ productReq.setFolderID(new Long(folderId));
+ SellingManagerProductDetailsType
sellingManagerProductDetailsType = new SellingManagerProductDetailsType();
+ GenericValue ebayProductStoreInventory =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("productId",
productId, "facilityId", context.get("facilityId"), "productStoreId",
context.get("productStoreId")).queryOne();
+
+
sellingManagerProductDetailsType.setProductName((EntityQuery.use(delegator).from("Product").where("productId",
productId).queryOne()).getString("internalName"));
+ //Must keep productId in SKU NUMBER because ebay allow
productId field only long value.
+ sellingManagerProductDetailsType.setCustomLabel(productId);
+ if (ebayProductStoreInventory!=null)
sellingManagerProductDetailsType.setQuantityAvailable(ebayProductStoreInventory.getBigDecimal("availableToPromiseListing").intValue());
+
+
productReq.setSellingManagerProductDetails(sellingManagerProductDetailsType);
+ productResp = (AddSellingManagerProductResponseType)
productCall.execute(productReq);
+ if (productResp != null &&
"SUCCESS".equals(productResp.getAck().toString())) {
+ flag = true;
+ ebayProductStoreInventory.put("ebayProductId",
productResp.getSellingManagerProductDetails().getProductID());
+ ebayProductStoreInventory.put("folderId", folderId);
+ ebayProductStoreInventory.store();
+ } else {
+ EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
productResp.getAck().toString(), "AddSellingManagerProductCall :
createNewProductInEbayInventoryFolder",
productResp.getErrors(0).getLongMessage());
+ Debug.logError("Fail to create inventory product
".concat(productId).concat("in productStore
").concat(context.get("productStoreId").toString()).concat(" message from ebay
: ").concat(productResp.getMessage()), module);
+ }
+ }
+ } catch (ApiException e) {
+ Debug.logError(e.getMessage(), module);
+ } catch (SdkSoapException e) {
+ Debug.logError(e.getMessage(), module);
+ } catch (SdkException e) {
+ Debug.logError(e.getMessage(), module);
+ } catch (GenericEntityException e) {
+ Debug.logError(e.getMessage(), module);
+ }
+ return flag;
+ }
+
+ /* update product and quantity to ebay inventory */
+ public static boolean updateProductInEbayInventoryFolder(DispatchContext
dctx, Map<String,Object> context) {
+ GenericValue userLogin = (GenericValue) context.get("userLogin");
+ Locale locale = (Locale) context.get("locale");
+ Delegator delegator = dctx.getDelegator();
+ ReviseSellingManagerProductRequestType req = null;
+ ReviseSellingManagerProductResponseType resp = null;
+ boolean flag = false;
+
+ try {
+ if (context.get("productStoreId") != null &&
context.get("productId") != null && context.get("folderId") != null) {
+ String productId = (String)context.get("productId");
+ String folderId = (String)context.get("folderId");
+ ReviseSellingManagerProductCall call = new
ReviseSellingManagerProductCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"),
locale, delegator));
+ req = new ReviseSellingManagerProductRequestType();
+ SellingManagerProductDetailsType
sellingManagerProductDetailsType = new SellingManagerProductDetailsType();
+ GenericValue ebayProductStoreInventory =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("productId",
productId, "facilityId", context.get("facilityId"), "productStoreId",
context.get("productStoreId")).queryOne();
+ Long ebayProductId = null;
+ if (ebayProductStoreInventory != null &&
ebayProductStoreInventory.getLong("ebayProductId") == null) {
+ Debug.logError("Can not update product "+productId+" has
no ebay product Id in EbayProductStoreInventory. ", module);
+ return flag;
+ }
+ if (ebayProductStoreInventory != null &&
ebayProductStoreInventory.getLong("ebayProductId") != null) {
+ ebayProductId =
ebayProductStoreInventory.getLong("ebayProductId");
+ }
+ sellingManagerProductDetailsType.setProductID(ebayProductId);
+
+
sellingManagerProductDetailsType.setProductName((EntityQuery.use(delegator).from("Product").where("productId",
productId).queryOne()).getString("internalName"));
+ //Must keep productId in SKU NUMBER because ebay allow
productId field only long value.
+ sellingManagerProductDetailsType.setCustomLabel(productId);
+ if (ebayProductStoreInventory!=null)
sellingManagerProductDetailsType.setQuantityAvailable(ebayProductStoreInventory.getBigDecimal("availableToPromiseListing").intValue());
+
+
req.setSellingManagerProductDetails(sellingManagerProductDetailsType);
+ resp = (ReviseSellingManagerProductResponseType)
call.execute(req);
+ if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
+ flag = true;
+ ebayProductStoreInventory.put("ebayProductId",
ebayProductId);
+ ebayProductStoreInventory.put("folderId", folderId);
+ ebayProductStoreInventory.store();
+ } else {
+ EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
resp.getAck().toString(), "ReviseSellingManagerProductCall :
updateProductInEbayInventoryFolder", resp.getErrors(0).getLongMessage());
+ Debug.logError("Fail to update inventory product
".concat(productId).concat("in productStore
").concat(context.get("productStoreId").toString()).concat(" message from ebay
: ").concat(resp.getMessage()), module);
+ }
+ }
+ } catch (ApiException e) {
+ Debug.logError(e.getMessage(), module);
+ } catch (SdkSoapException e) {
+ Debug.logError(e.getMessage(), module);
+ } catch (SdkException e) {
+ Debug.logError(e.getMessage(), module);
+ } catch (GenericEntityException e) {
+ Debug.logError(e.getMessage(), module);
+ }
+ return flag;
+ }
+
+ public static Map<String,Object>
getFolderInEbayStoreInventory(DispatchContext dctx, Map<String,Object> context)
{
+ Map<String,Object> result = new HashMap<String, Object>();
+ GenericValue userLogin = (GenericValue) context.get("userLogin");
+ Locale locale = (Locale) context.get("locale");
+ Delegator delegator = dctx.getDelegator();
+ GetSellingManagerInventoryFolderRequestType req = null;
+ GetSellingManagerInventoryFolderResponseType resp = null;
+ boolean flag = false;
+
+ try {
+ if (context.get("productStoreId") != null) {
+ GetSellingManagerInventoryFolderCall call = new
GetSellingManagerInventoryFolderCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"),
locale, delegator));
+ req = new GetSellingManagerInventoryFolderRequestType();
+ resp = (GetSellingManagerInventoryFolderResponseType)
call.execute(req);
+ if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
+ SellingManagerFolderDetailsType
sellingManagerFolderDetailsType = resp.getFolder();
+ if (sellingManagerFolderDetailsType != null) {
+ SellingManagerFolderDetailsType[]
SellingManagerFolderDetailsTypeList =
sellingManagerFolderDetailsType.getChildFolder();
+ for (SellingManagerFolderDetailsType
sellingManagerFolderDetails : SellingManagerFolderDetailsTypeList) {
+ Debug.logInfo("ebay inventory folders name
".concat(sellingManagerFolderDetails.getFolderName()), module);
+ if
(sellingManagerFolderDetails.getFolderName().equals(defaultFolderName)) {
+ folderId =
String.valueOf(sellingManagerFolderDetails.getFolderID());
+ flag = true;
+ break;
+ }
+ }
+ }
+ if (!flag) {
+ folderId =
createNewFolderInEbayStoreInventory(dctx,context);
+ }
+ } else {
+ EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
resp.getAck().toString(), "GetSellingManagerInventoryFolderCall :
getFolderInEbayStoreInventory", resp.getErrors(0).getLongMessage());
+ }
+ result =
ServiceUtil.returnSuccess(UtilProperties.getMessage(resource,
"EbayStoreInventoryFolderIdLoaded", UtilMisc.toMap("folderId", folderId),
locale));
+ }
+ } catch (ApiException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ } catch (SdkSoapException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ } catch (SdkException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ }
+ if (result.get("responseMessage") != null &&
result.get("responseMessage").equals("fail")) folderId = null;
+ result.put("folderId", folderId);
+ Debug.logInfo("service return result "+ result, module);
+ return result;
+ }
+
+ /*create new folder for export product into inventory.*/
+ public static String createNewFolderInEbayStoreInventory(DispatchContext
dctx, Map<String,Object> context) {
+ Locale locale = (Locale) context.get("locale");
+ GenericValue userLogin = (GenericValue) context.get("userLogin");
+ Delegator delegator = dctx.getDelegator();
+ AddSellingManagerInventoryFolderRequestType req = null;
+ AddSellingManagerInventoryFolderResponseType resp = null;
+
+ try {
+ if (context.get("productStoreId") != null) {
+ AddSellingManagerInventoryFolderCall call = new
AddSellingManagerInventoryFolderCall(EbayStoreHelper.getApiContext((String)context.get("productStoreId"),
locale, delegator));
+ req = new AddSellingManagerInventoryFolderRequestType();
+
req.setFolderName(defaultFolderName);//req.setComment(value);//req.setParentFolderID(value)
+ resp = (AddSellingManagerInventoryFolderResponseType)
call.execute(req);
+ if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
+ folderId = String.valueOf(resp.getFolderID());
+ } else {
+ EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
resp.getAck().toString(), "AddSellingManagerInventoryFolderCall :
createNewFolderInEbayStoreInventory", resp.getErrors(0).getLongMessage());
+ Debug.logError("The problem with create new folder on ebay
site.", module);
+ return folderId;
+ }
+ }
+ } catch (ApiException e) {
+ Debug.logError(e.getMessage(), module);
+ } catch (SdkSoapException e) {
+ Debug.logError(e.getMessage(), module);
+ } catch (SdkException e) {
+ Debug.logError(e.getMessage(), module);
+ }
+ return folderId;
+ }
+
+ /* update inventory status from ebay store inventory */
+ public static Map<String,Object>
updateEbayInventoryStatusByProductId(DispatchContext dctx, Map<String,Object>
context) {
+ Locale locale = (Locale) context.get("locale");
+ GenericValue userLogin = (GenericValue) context.get("userLogin");
+ Map<String,Object> result = new HashMap<String, Object>();
+ Delegator delegator = dctx.getDelegator();
+ String productStoreId = (String)context.get("productStoreId");
+ String facilityId = (String)context.get("facilityId");
+ String folderId = (String)context.get("folderId");
+ String productId = (String)context.get("productId");
+ String ebayProductId = null;
+ GetSellingManagerInventoryRequestType req = null;
+ GetSellingManagerInventoryResponseType resp = null;
+ GenericValue ebayProductStoreInventory = null;
+
+ if (context.get("ebayProductId") != null) {
+ ebayProductId = String.valueOf(context.get("ebayProductId"));
+ }
+ try {
+ if (productStoreId != null && ebayProductId != null) {
+ ebayProductStoreInventory =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("productId",
productId, "facilityId", facilityId, "productStoreId",
productStoreId).queryOne();
+ GetSellingManagerInventoryCall call = new
GetSellingManagerInventoryCall(EbayStoreHelper.getApiContext(productStoreId,
locale, delegator));
+ req = new GetSellingManagerInventoryRequestType();
+ resp = (GetSellingManagerInventoryResponseType)
call.execute(req);
+ if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
+ SellingManagerProductType[] sellingManagerProductTypeList
= resp.getSellingManagerProduct();
+ for (SellingManagerProductType sellingManagerProductType :
sellingManagerProductTypeList) {
+ SellingManagerProductDetailsType productDetail =
sellingManagerProductType.getSellingManagerProductDetails();
+ if
(String.valueOf(productDetail.getFolderID()).equals(folderId) &&
String.valueOf(productDetail.getProductID()).equals(ebayProductId) &&
String.valueOf(productDetail.getCustomLabel()).equals(productId)) {
+ SellingManagerProductInventoryStatusType
prodInventoryStatus =
sellingManagerProductType.getSellingManagerProductInventoryStatus();
+ ebayProductStoreInventory.put("activeListing",new
BigDecimal(prodInventoryStatus.getQuantityActive()));
+ ebayProductStoreInventory.put("scheduled",new
BigDecimal(prodInventoryStatus.getQuantityScheduled()));
+ ebayProductStoreInventory.put("sold",new
BigDecimal(prodInventoryStatus.getQuantitySold()));
+ ebayProductStoreInventory.put("unSold",new
BigDecimal(prodInventoryStatus.getQuantityUnsold()));
+ ebayProductStoreInventory.store();
+ result =
ServiceUtil.returnSuccess(UtilProperties.getMessage(resource,
"EbayStoreInventoryStatusUpdated", UtilMisc.toMap("productId", productId),
locale));
+ break;
+ }
+ }
+ } else {
+ EbayStoreHelper.createErrorLogMessage(userLogin,
dctx.getDispatcher(), context.get("productStoreId").toString(),
resp.getAck().toString(), "GetSellingManagerInventoryCall :
updateEbayInventoryStatusByProductId", resp.getErrors(0).getLongMessage());
+ Debug.logError("The problem with get manage inventory
detail from ebay site.", module);
+ }
+ }
+ } catch (ApiException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ } catch (SdkSoapException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ } catch (SdkException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ } catch (GenericEntityException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ }
+ result.put("productStoreId", context.get("productStoreId"));
+ result.put("facilityId", context.get("facilityId"));
+ result.put("folderId", context.get("folderId"));
+ result.put("productId", productId);
+ return result;
+ }
+
+ public static Map<String,Object> updateEbayInventoryStatus(DispatchContext
dctx, Map<String,Object> context) {
+ LocalDispatcher dispatcher = dctx.getDispatcher();
+ Map<String,Object> result = new HashMap<String, Object>();
+ Delegator delegator = dctx.getDelegator();
+ List<GenericValue> ebayProductStoreInventoryList = null;
+
+ try {
+ if (context.get("productStoreId") != null &&
context.get("facilityId") != null) {
+ ebayProductStoreInventoryList =
EntityQuery.use(delegator).from("EbayProductStoreInventory").where("facilityId",(String)context.get("facilityId"),"productStoreId",(String)context.get("productStoreId")).queryList();
+ for (GenericValue ebayProductStoreInventory :
ebayProductStoreInventoryList) {
+ if (ebayProductStoreInventory.get("ebayProductId") !=
null) {
+
dispatcher.runSync("updateEbayInventoryStatusByProductId",
UtilMisc.toMap("productStoreId", (String)context.get("productStoreId"),
"facilityId", (String)context.get("facilityId"), "folderId",
ebayProductStoreInventory.get("folderId"), "productId",
ebayProductStoreInventory.get("productId"), "ebayProductId",
ebayProductStoreInventory.get("ebayProductId"), "userLogin",
context.get("userLogin")));
+ }
+ }
+ }
+ } catch (GenericEntityException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ } catch (GenericServiceException e) {
+ result = ServiceUtil.returnFailure(e.getMessage());
+ }
+ result = ServiceUtil.returnSuccess();
+ return result;
+ }
+}
Propchange:
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreInventoryServices.java
('svn:eol-style' removed)
Modified:
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreOptions.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreOptions.java?rev=1695126&r1=1695125&r2=1695126&view=diff
==============================================================================
---
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreOptions.java
(original)
+++
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreOptions.java
Mon Aug 10 16:15:37 2015
@@ -1,264 +1,264 @@
-/*
- * 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.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.UtilHttp;
-import org.ofbiz.base.util.UtilValidate;
-import org.ofbiz.entity.Delegator;
-import org.ofbiz.entity.GenericValue;
-import org.ofbiz.service.GenericServiceException;
-import org.ofbiz.service.LocalDispatcher;
-import org.ofbiz.webapp.event.EventHandlerException;
-
-import com.ebay.sdk.ApiContext;
-import com.ebay.sdk.ApiException;
-import com.ebay.sdk.SdkException;
-import com.ebay.sdk.SdkSoapException;
-import com.ebay.sdk.call.GetStoreOptionsCall;
-import com.ebay.soap.eBLBaseComponents.CategoryType;
-import com.ebay.soap.eBLBaseComponents.GetStoreOptionsRequestType;
-import com.ebay.soap.eBLBaseComponents.GetStoreOptionsResponseType;
-import com.ebay.soap.eBLBaseComponents.StoreColorSchemeType;
-import com.ebay.soap.eBLBaseComponents.StoreColorType;
-import com.ebay.soap.eBLBaseComponents.StoreFontType;
-import com.ebay.soap.eBLBaseComponents.StoreThemeArrayType;
-import com.ebay.soap.eBLBaseComponents.StoreThemeType;
-import com.ebay.soap.eBLBaseComponents.StoreCustomCategoryType;
-
-public class EbayStoreOptions {
-
- private static final String module = EbayStoreOptions.class.getName();
-
- public static String retrieveThemeColorSchemeByThemeId(HttpServletRequest
request, HttpServletResponse response) {
- Locale locale = UtilHttp.getLocale(request);
- HttpSession session = request.getSession(true);
- GenericValue userLogin = (GenericValue)
session.getAttribute("userLogin");
- Delegator delegator = (Delegator) request.getAttribute("delegator");
- LocalDispatcher dispatcher = (LocalDispatcher)
request.getAttribute("dispatcher");
- GetStoreOptionsRequestType req = null;
- GetStoreOptionsResponseType resp = null;
- StoreThemeArrayType returnedBasicThemeArray = null;
-
- try {
- Map<String, Object> paramMap = UtilHttp.getCombinedMap(request);
- if (paramMap.get("productStoreId") != null) {
- String themeId = (String)paramMap.get("themeId");
-
- GetStoreOptionsCall call = new
GetStoreOptionsCall(EbayStoreHelper.getApiContext((String)paramMap.get("productStoreId"),
locale, delegator));
- req = new GetStoreOptionsRequestType();
-
- resp = (GetStoreOptionsResponseType) call.execute(req);
- if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
-
- returnedBasicThemeArray = resp.getBasicThemeArray();
- StoreThemeType[] storeBasicTheme =
returnedBasicThemeArray.getTheme();
-
- int i=0;
- String colorSchemeId =
themeId.substring(themeId.indexOf("-")+1);
- themeId = themeId.substring(0,themeId.indexOf("-"));
-
- Map<String,Object> storeColorSchemeMap = new
HashMap<String, Object>();
- while (i < storeBasicTheme.length) {
-
- StoreThemeType storeThemeType = storeBasicTheme[i];
- if
(themeId.equals(storeThemeType.getThemeID().toString())) {
- StoreColorSchemeType colorSchemeType =
storeThemeType.getColorScheme();
- if (colorSchemeType != null) {
- if
(colorSchemeId.equals(colorSchemeType.getColorSchemeID().toString())) {
- StoreColorType storeColor =
colorSchemeType.getColor();
-
storeColorSchemeMap.put("storeColorAccent",storeColor.getAccent());
-
storeColorSchemeMap.put("storeColorPrimary",storeColor.getPrimary());
-
storeColorSchemeMap.put("storeColorSecondary",storeColor.getSecondary());
-
- // get font,size and color
- StoreFontType storeFontType =
colorSchemeType.getFont();
-
storeColorSchemeMap.put("storeFontTypeNameFaceColor",storeFontType.getNameColor());
-
storeColorSchemeMap.put("storeFontTypeFontFaceValue",storeFontType.getNameFace().value());
-
storeColorSchemeMap.put("storeFontTypeSizeFaceValue",storeFontType.getNameSize().value());
-
-
storeColorSchemeMap.put("storeFontTypeTitleColor",storeFontType.getTitleColor());
-
storeColorSchemeMap.put("storeFontTypeFontTitleValue",storeFontType.getTitleFace().value());
-
storeColorSchemeMap.put("storeFontSizeTitleValue",storeFontType.getTitleSize().value());
-
-
storeColorSchemeMap.put("storeFontTypeDescColor",storeFontType.getDescColor());
-
storeColorSchemeMap.put("storeFontTypeFontDescValue",storeFontType.getDescFace().value());
-
storeColorSchemeMap.put("storeDescSizeValue",storeFontType.getDescSize().value());
-
request.setAttribute("storeColorSchemeMap", storeColorSchemeMap);
-
- break;
- }
- }
- }
- i++;
- }
- } else {
- EbayStoreHelper.createErrorLogMessage(userLogin,
dispatcher, paramMap.get("productStoreId").toString(),
resp.getAck().toString(), "GetStoreOptionsCall :
retrieveThemeColorSchemeByThemeId", resp.getErrors(0).getLongMessage());
- }
- }
- } catch (ApiException e) {
- e.printStackTrace();
- return "error";
- } catch (SdkSoapException e) {
- e.printStackTrace();
- return "error";
- } catch (SdkException e) {
- e.printStackTrace();
- return "error";
- }
- return "success";
- }
-
- public static String
retrieveItemTemplateByTemplateGroupId(HttpServletRequest
request,HttpServletResponse response) {
- Map<String, Object> paramMap = UtilHttp.getCombinedMap(request);
- if (paramMap.get("productStoreId") != null) {
- String temGroupId = (String)paramMap.get("templateGroupId");
- Map<String,Object> addItemObj =
EbayEvents.getAddItemListingObject(request, EbayEvents.getApiContext(request));
- if (UtilValidate.isNotEmpty(addItemObj)) {
- String refName = "itemCateFacade_".concat((String)
paramMap.get("pkCategoryId"));
- if (UtilValidate.isNotEmpty(addItemObj.get(refName))) {
- EbayStoreCategoryFacade cf = (EbayStoreCategoryFacade)
addItemObj.get(refName);
- List<Map<String,Object>> theme =
cf.getAdItemTemplates(temGroupId);
- if (theme.size() > 0) {
- request.setAttribute("itemTemplates", theme);
- }
- }
- }
- }
- return "success";
- }
-
- public static String retrieveEbayCategoryByParent(HttpServletRequest
request, HttpServletResponse response) {
- List<CategoryType> results;
- try {
- Map<String, Object> paramMap = UtilHttp.getCombinedMap(request);
- if (paramMap.get("productStoreId") != null) {
- String ebayCategoryId = (String)paramMap.get("ebayCategoryId");
- // when change category should be remove old category from
session
- if (ebayCategoryId.indexOf("CH_") != -1) {
- ebayCategoryId = ebayCategoryId.replace("CH_", "");
- if (UtilValidate.isNotEmpty(ebayCategoryId)) {
- ApiContext apiContext =
EbayEvents.getApiContext(request);
- Map<String,Object> addItemObject =
EbayEvents.getAddItemListingObject(request, apiContext);
- String refName =
"itemCateFacade_".concat(ebayCategoryId);
- if
(UtilValidate.isNotEmpty(addItemObject.get(refName))) {
- addItemObject.remove(refName);
- }
- }
- ebayCategoryId = "";
- }
- request.setAttribute("productStoreId",
paramMap.get("productStoreId"));
- request.setAttribute("categoryId", ebayCategoryId);
- results = EbayEvents.getChildCategories(request);
- if (UtilValidate.isNotEmpty(results)) {
- List<Map<String,Object>> categories = new
LinkedList<Map<String,Object>>();
- for (CategoryType category : results) {
- Map<String,Object> context = new HashMap<String,
Object>();
- context.put("CategoryCode", category.getCategoryID());
- context.put("CategoryName",
category.getCategoryName());
- String isLeaf =
String.valueOf(category.isLeafCategory()!= null ? category.isLeafCategory() :
"false");
- context.put("IsLeafCategory", isLeaf);
- categories.add(context);
- }
- if (categories.size() > 0) {
- request.setAttribute("categories", categories);
- }
- }
- }
- } catch (GenericServiceException e) {
- Debug.logError(e.getMessage(), module);
- } catch (EventHandlerException 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);
- }
- return "success";
- }
-
- public static String retrieveEbayStoreCategoryByParent(HttpServletRequest
request, HttpServletResponse response) {
- List<StoreCustomCategoryType> results;
- try {
- Map<String, Object> paramMap = UtilHttp.getCombinedMap(request);
- if (paramMap.get("productStoreId") != null) {
- String ebayStoreCategory =
(String)paramMap.get("ebayCategoryId");
- // when change category should be remove old category from
session
- if (ebayStoreCategory.indexOf("CH_") != -1) {
- ebayStoreCategory = ebayStoreCategory.replace("CH_", "");
- if (UtilValidate.isNotEmpty(ebayStoreCategory)) {
- ApiContext apiContext =
EbayEvents.getApiContext(request);
- Map<String,Object> addItemObject =
EbayEvents.getAddItemListingObject(request, apiContext);
- String refName =
"itemCateFacade_".concat(ebayStoreCategory);
- if
(UtilValidate.isNotEmpty(addItemObject.get(refName))) {
- addItemObject.remove(refName);
- }
- }
- ebayStoreCategory = "";
- }
- request.setAttribute("productStoreId",
paramMap.get("productStoreId"));
- request.setAttribute("categoryId", ebayStoreCategory);
- results = EbayEvents.getStoreChildCategories(request);
- if (UtilValidate.isNotEmpty(results)) {
- List<Map<String,Object>> categories = new
LinkedList<Map<String,Object>>();
- for (StoreCustomCategoryType category : results) {
- Map<String,Object> context = new HashMap<String,
Object>();
- context.put("CategoryCode", category.getCategoryID());
- context.put("CategoryName", category.getName());
- String isLeaf = "false";
- if (category.getChildCategory().length == 0) {
- isLeaf = "true";
- } else {
- isLeaf = "false";
- }
- context.put("IsLeafCategory", isLeaf);
- categories.add(context);
- }
- if (categories.size() > 0) {
- request.setAttribute("categories", categories);
- }
- }
- }
- } catch (GenericServiceException e) {
- Debug.logError(e.getMessage(), module);
- } catch (EventHandlerException 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);
- }
- return "success";
- }
-
-}
+/*
+ * 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.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.UtilHttp;
+import org.ofbiz.base.util.UtilValidate;
+import org.ofbiz.entity.Delegator;
+import org.ofbiz.entity.GenericValue;
+import org.ofbiz.service.GenericServiceException;
+import org.ofbiz.service.LocalDispatcher;
+import org.ofbiz.webapp.event.EventHandlerException;
+
+import com.ebay.sdk.ApiContext;
+import com.ebay.sdk.ApiException;
+import com.ebay.sdk.SdkException;
+import com.ebay.sdk.SdkSoapException;
+import com.ebay.sdk.call.GetStoreOptionsCall;
+import com.ebay.soap.eBLBaseComponents.CategoryType;
+import com.ebay.soap.eBLBaseComponents.GetStoreOptionsRequestType;
+import com.ebay.soap.eBLBaseComponents.GetStoreOptionsResponseType;
+import com.ebay.soap.eBLBaseComponents.StoreColorSchemeType;
+import com.ebay.soap.eBLBaseComponents.StoreColorType;
+import com.ebay.soap.eBLBaseComponents.StoreFontType;
+import com.ebay.soap.eBLBaseComponents.StoreThemeArrayType;
+import com.ebay.soap.eBLBaseComponents.StoreThemeType;
+import com.ebay.soap.eBLBaseComponents.StoreCustomCategoryType;
+
+public class EbayStoreOptions {
+
+ private static final String module = EbayStoreOptions.class.getName();
+
+ public static String retrieveThemeColorSchemeByThemeId(HttpServletRequest
request, HttpServletResponse response) {
+ Locale locale = UtilHttp.getLocale(request);
+ HttpSession session = request.getSession(true);
+ GenericValue userLogin = (GenericValue)
session.getAttribute("userLogin");
+ Delegator delegator = (Delegator) request.getAttribute("delegator");
+ LocalDispatcher dispatcher = (LocalDispatcher)
request.getAttribute("dispatcher");
+ GetStoreOptionsRequestType req = null;
+ GetStoreOptionsResponseType resp = null;
+ StoreThemeArrayType returnedBasicThemeArray = null;
+
+ try {
+ Map<String, Object> paramMap = UtilHttp.getCombinedMap(request);
+ if (paramMap.get("productStoreId") != null) {
+ String themeId = (String)paramMap.get("themeId");
+
+ GetStoreOptionsCall call = new
GetStoreOptionsCall(EbayStoreHelper.getApiContext((String)paramMap.get("productStoreId"),
locale, delegator));
+ req = new GetStoreOptionsRequestType();
+
+ resp = (GetStoreOptionsResponseType) call.execute(req);
+ if (resp != null &&
"SUCCESS".equals(resp.getAck().toString())) {
+
+ returnedBasicThemeArray = resp.getBasicThemeArray();
+ StoreThemeType[] storeBasicTheme =
returnedBasicThemeArray.getTheme();
+
+ int i=0;
+ String colorSchemeId =
themeId.substring(themeId.indexOf("-")+1);
+ themeId = themeId.substring(0,themeId.indexOf("-"));
+
+ Map<String,Object> storeColorSchemeMap = new
HashMap<String, Object>();
+ while (i < storeBasicTheme.length) {
+
+ StoreThemeType storeThemeType = storeBasicTheme[i];
+ if
(themeId.equals(storeThemeType.getThemeID().toString())) {
+ StoreColorSchemeType colorSchemeType =
storeThemeType.getColorScheme();
+ if (colorSchemeType != null) {
+ if
(colorSchemeId.equals(colorSchemeType.getColorSchemeID().toString())) {
+ StoreColorType storeColor =
colorSchemeType.getColor();
+
storeColorSchemeMap.put("storeColorAccent",storeColor.getAccent());
+
storeColorSchemeMap.put("storeColorPrimary",storeColor.getPrimary());
+
storeColorSchemeMap.put("storeColorSecondary",storeColor.getSecondary());
+
+ // get font,size and color
+ StoreFontType storeFontType =
colorSchemeType.getFont();
+
storeColorSchemeMap.put("storeFontTypeNameFaceColor",storeFontType.getNameColor());
+
storeColorSchemeMap.put("storeFontTypeFontFaceValue",storeFontType.getNameFace().value());
+
storeColorSchemeMap.put("storeFontTypeSizeFaceValue",storeFontType.getNameSize().value());
+
+
storeColorSchemeMap.put("storeFontTypeTitleColor",storeFontType.getTitleColor());
+
storeColorSchemeMap.put("storeFontTypeFontTitleValue",storeFontType.getTitleFace().value());
+
storeColorSchemeMap.put("storeFontSizeTitleValue",storeFontType.getTitleSize().value());
+
+
storeColorSchemeMap.put("storeFontTypeDescColor",storeFontType.getDescColor());
+
storeColorSchemeMap.put("storeFontTypeFontDescValue",storeFontType.getDescFace().value());
+
storeColorSchemeMap.put("storeDescSizeValue",storeFontType.getDescSize().value());
+
request.setAttribute("storeColorSchemeMap", storeColorSchemeMap);
+
+ break;
+ }
+ }
+ }
+ i++;
+ }
+ } else {
+ EbayStoreHelper.createErrorLogMessage(userLogin,
dispatcher, paramMap.get("productStoreId").toString(),
resp.getAck().toString(), "GetStoreOptionsCall :
retrieveThemeColorSchemeByThemeId", resp.getErrors(0).getLongMessage());
+ }
+ }
+ } catch (ApiException e) {
+ e.printStackTrace();
+ return "error";
+ } catch (SdkSoapException e) {
+ e.printStackTrace();
+ return "error";
+ } catch (SdkException e) {
+ e.printStackTrace();
+ return "error";
+ }
+ return "success";
+ }
+
+ public static String
retrieveItemTemplateByTemplateGroupId(HttpServletRequest
request,HttpServletResponse response) {
+ Map<String, Object> paramMap = UtilHttp.getCombinedMap(request);
+ if (paramMap.get("productStoreId") != null) {
+ String temGroupId = (String)paramMap.get("templateGroupId");
+ Map<String,Object> addItemObj =
EbayEvents.getAddItemListingObject(request, EbayEvents.getApiContext(request));
+ if (UtilValidate.isNotEmpty(addItemObj)) {
+ String refName = "itemCateFacade_".concat((String)
paramMap.get("pkCategoryId"));
+ if (UtilValidate.isNotEmpty(addItemObj.get(refName))) {
+ EbayStoreCategoryFacade cf = (EbayStoreCategoryFacade)
addItemObj.get(refName);
+ List<Map<String,Object>> theme =
cf.getAdItemTemplates(temGroupId);
+ if (theme.size() > 0) {
+ request.setAttribute("itemTemplates", theme);
+ }
+ }
+ }
+ }
+ return "success";
+ }
+
+ public static String retrieveEbayCategoryByParent(HttpServletRequest
request, HttpServletResponse response) {
+ List<CategoryType> results;
+ try {
+ Map<String, Object> paramMap = UtilHttp.getCombinedMap(request);
+ if (paramMap.get("productStoreId") != null) {
+ String ebayCategoryId = (String)paramMap.get("ebayCategoryId");
+ // when change category should be remove old category from
session
+ if (ebayCategoryId.indexOf("CH_") != -1) {
+ ebayCategoryId = ebayCategoryId.replace("CH_", "");
+ if (UtilValidate.isNotEmpty(ebayCategoryId)) {
+ ApiContext apiContext =
EbayEvents.getApiContext(request);
+ Map<String,Object> addItemObject =
EbayEvents.getAddItemListingObject(request, apiContext);
+ String refName =
"itemCateFacade_".concat(ebayCategoryId);
+ if
(UtilValidate.isNotEmpty(addItemObject.get(refName))) {
+ addItemObject.remove(refName);
+ }
+ }
+ ebayCategoryId = "";
+ }
+ request.setAttribute("productStoreId",
paramMap.get("productStoreId"));
+ request.setAttribute("categoryId", ebayCategoryId);
+ results = EbayEvents.getChildCategories(request);
+ if (UtilValidate.isNotEmpty(results)) {
+ List<Map<String,Object>> categories = new
LinkedList<Map<String,Object>>();
+ for (CategoryType category : results) {
+ Map<String,Object> context = new HashMap<String,
Object>();
+ context.put("CategoryCode", category.getCategoryID());
+ context.put("CategoryName",
category.getCategoryName());
+ String isLeaf =
String.valueOf(category.isLeafCategory()!= null ? category.isLeafCategory() :
"false");
+ context.put("IsLeafCategory", isLeaf);
+ categories.add(context);
+ }
+ if (categories.size() > 0) {
+ request.setAttribute("categories", categories);
+ }
+ }
+ }
+ } catch (GenericServiceException e) {
+ Debug.logError(e.getMessage(), module);
+ } catch (EventHandlerException 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);
+ }
+ return "success";
+ }
+
+ public static String retrieveEbayStoreCategoryByParent(HttpServletRequest
request, HttpServletResponse response) {
+ List<StoreCustomCategoryType> results;
+ try {
+ Map<String, Object> paramMap = UtilHttp.getCombinedMap(request);
+ if (paramMap.get("productStoreId") != null) {
+ String ebayStoreCategory =
(String)paramMap.get("ebayCategoryId");
+ // when change category should be remove old category from
session
+ if (ebayStoreCategory.indexOf("CH_") != -1) {
+ ebayStoreCategory = ebayStoreCategory.replace("CH_", "");
+ if (UtilValidate.isNotEmpty(ebayStoreCategory)) {
+ ApiContext apiContext =
EbayEvents.getApiContext(request);
+ Map<String,Object> addItemObject =
EbayEvents.getAddItemListingObject(request, apiContext);
+ String refName =
"itemCateFacade_".concat(ebayStoreCategory);
+ if
(UtilValidate.isNotEmpty(addItemObject.get(refName))) {
+ addItemObject.remove(refName);
+ }
+ }
+ ebayStoreCategory = "";
+ }
+ request.setAttribute("productStoreId",
paramMap.get("productStoreId"));
+ request.setAttribute("categoryId", ebayStoreCategory);
+ results = EbayEvents.getStoreChildCategories(request);
+ if (UtilValidate.isNotEmpty(results)) {
+ List<Map<String,Object>> categories = new
LinkedList<Map<String,Object>>();
+ for (StoreCustomCategoryType category : results) {
+ Map<String,Object> context = new HashMap<String,
Object>();
+ context.put("CategoryCode", category.getCategoryID());
+ context.put("CategoryName", category.getName());
+ String isLeaf = "false";
+ if (category.getChildCategory().length == 0) {
+ isLeaf = "true";
+ } else {
+ isLeaf = "false";
+ }
+ context.put("IsLeafCategory", isLeaf);
+ categories.add(context);
+ }
+ if (categories.size() > 0) {
+ request.setAttribute("categories", categories);
+ }
+ }
+ }
+ } catch (GenericServiceException e) {
+ Debug.logError(e.getMessage(), module);
+ } catch (EventHandlerException 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);
+ }
+ return "success";
+ }
+
+}
Propchange:
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreOptions.java
('svn:eol-style' removed)