blob: 70f7fdadda541e073ddf588ef24d9b6f5f328578 [file] [log] [blame]
/*
* 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.apache.ofbiz.ebaystore;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import org.apache.ofbiz.entity.Delegator;
import org.apache.ofbiz.service.DispatchContext;
import org.apache.ofbiz.service.ServiceUtil;
import com.ebay.sdk.ApiContext;
import com.ebay.sdk.call.GetUserCall;
import com.ebay.soap.eBLBaseComponents.AddressType;
import com.ebay.soap.eBLBaseComponents.DetailLevelCodeType;
import com.ebay.soap.eBLBaseComponents.UserType;
public class EbayAccount {
public static Map<String, Object> getEbayUser(DispatchContext dctx, Map<String, ? extends Object> context) {
Map<String, Object>result = new HashMap<String, Object>();
Delegator delegator = dctx.getDelegator();
Locale locale = (Locale) context.get("locale");
String productStoreId = (String) context.get("productStoreId");
// Output Variable
String email = null,
cityName = null,
companyName = null,
country = null,
firstName = null,
lastName = null,
name = null,
phone = null,
postalCode = null,
stateOrProvince = null,
street = null,
street1 = null,
street2 = null,
status = null;
Map<String, Object>registrationAddress = new HashMap<String, Object>();
try {
ApiContext apiContext = EbayStoreHelper.getApiContext(productStoreId, locale, delegator);
GetUserCall getUserCall = new GetUserCall(apiContext);
DetailLevelCodeType[] detailLevel = {DetailLevelCodeType.RETURN_ALL};
getUserCall.setDetailLevel(detailLevel);
UserType user = getUserCall.getUser();
if (user != null) {
email = user.getEmail();
AddressType regAddress = user.getRegistrationAddress();
if (regAddress != null) {
cityName = regAddress.getCityName();
companyName = regAddress.getCompanyName();
country = regAddress.getCountryName();
firstName = regAddress.getFirstName();
lastName = regAddress.getLastName();
name = regAddress.getName();
phone = regAddress.getPhone();
postalCode = regAddress.getPostalCode();
stateOrProvince = regAddress.getStateOrProvince();
street = regAddress.getStreet();
street1 = regAddress.getStreet1();
street2 = regAddress.getStreet2();
}
if (firstName == null && lastName == null && name !=null) {
String nameArray[] = name.split(" ");
firstName = nameArray[0];
lastName = nameArray[1];
}
registrationAddress.put("cityName", cityName);
registrationAddress.put("companyName", companyName);
registrationAddress.put("country", country);
registrationAddress.put("firstName", firstName);
registrationAddress.put("lastName", lastName);
registrationAddress.put("phone", phone);
registrationAddress.put("postalCode", postalCode);
registrationAddress.put("stateOrProvince", stateOrProvince);
registrationAddress.put("street", street);
registrationAddress.put("street1", street1);
registrationAddress.put("street2", street2);
status = user.getStatus().toString();
}
result.put("email", email);
result.put("registrationAddress", registrationAddress);
result.put("status", status);
} catch (Exception e) {
// TODO Auto-generated catch block
return ServiceUtil.returnError(e.getMessage());
}
return result;
}
}