You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2015/08/10 18:15:38 UTC
svn commit: r1695126 [20/22] - in /ofbiz/trunk:
applications/accounting/src/org/ofbiz/accounting/thirdparty/authorizedotnet/
applications/accounting/src/org/ofbiz/accounting/thirdparty/securepay/
applications/content/src/org/ofbiz/content/webapp/ftl/ a...
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)