You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by as...@apache.org on 2009/09/05 15:32:12 UTC
svn commit: r811645 - in /ofbiz/trunk/specialpurpose/ebay: ./ data/
entitydef/ servicedef/ src/org/ofbiz/ebay/
webapp/ebay/WEB-INF/actions/find/ webapp/ebay/find/ widget/
Author: ashish
Date: Sat Sep 5 13:32:12 2009
New Revision: 811645
URL: http://svn.apache.org/viewvc?rev=811645&view=rev
Log:
Following things are done in this commit.
-- Moved eBay configuration settings to a new entity - EbayConfig. Property file configuration support also exists in current code.
-- Also prepared the demo data for this new entity.
-- For default webSiteUrl prepared demo data in WebSite entity so we can show default value on the form.
Added:
ofbiz/trunk/specialpurpose/ebay/data/DemoEbayData.xml (with props)
ofbiz/trunk/specialpurpose/ebay/entitydef/
ofbiz/trunk/specialpurpose/ebay/entitydef/entitymodel.xml (with props)
Modified:
ofbiz/trunk/specialpurpose/ebay/ofbiz-component.xml
ofbiz/trunk/specialpurpose/ebay/servicedef/services.xml
ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java
ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy
ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl
ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml
Added: ofbiz/trunk/specialpurpose/ebay/data/DemoEbayData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/data/DemoEbayData.xml?rev=811645&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/ebay/data/DemoEbayData.xml (added)
+++ ofbiz/trunk/specialpurpose/ebay/data/DemoEbayData.xml Sat Sep 5 13:32:12 2009
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+
+<entity-engine-xml>
+ <WebSite webSiteId="EBAY" standardContentPrefix="http://demo.ofbiz.org" productStoreId="9000"/>
+ <EbayConfig productStoreId="9000" devId="ppodkYk34Kh-279a-6khr-a07c-06fd1d65824b" appId="ApacheOFB-bf44-4c32-ac45-3e099a32b675" certId="99ca5f9f-dd5c-3de-9a4c-13b247ieidfg" compatibilityLevel="517" siteId="0" xmlGatewayUri="https://api.sandbox.ebay.com/ws/api.dll" webSiteId="EBAY">
+ <token><![CDATA[APACHEeerer**AQresT**aOFBIZ**Dddddg**nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6wFddddddddsssererdafjk23232uy+seQ**IzABAA**AAMAAA**6kOEMXRyvyVRLt7vAL7W+5dfjdkfjkldfjlkdjfldj121219fjlkdfjldjf+oRU0d07B0jfdFxJj6OolPHiQN5c0qmVNDRsSKaOucPjXTHSBmVm62p7M9/YmRCag/Mz1DjvDTFyS1kaBinGH2lwd9AjcBSBUbD9tSZVTdKn5PQBh3kkCh5Fe+UK5fyq9OeikM/Bdfafja377dkdkBddDDll+zPbG8pYL13cBgCGj8/zzMSGX2ugZkbU01bCLKkTzLOSqIcxj9xgJ4uDHxhjjizyWlHd2ovFKP8mmc/bEjLANUqS1z0vhR0NHydU/izZR8eYAruTvX6eYzSfsZA85sVOpIAjVEYX9M4CqgXazYxDFAT+y7E4+oM9N+tx8+/dkdkfdoTTKdHhdlKwVmgdULRhW0nP04BMugLpRCQrITSVpSJ1mfkwwb4JEQRNwSSUOe/1P3t21JhUBj3OJjpwC1ds84DSh9nlyykxF3X+EfFxtE4rTKUO+fODRDD5FBDO2+TD3AROz/3u/OWOvTWUm13u2kxMiiEQ3DNkuxN4g7Gj5xhKk7uNMIRRM8YoxoDoiJnbvuLQctBtpn1vibjUJsxTlnq92PLOhsgkp2NfhcxzS1JJfDKX1snOkmWfiluqyW5oDayJoZnrHIVKD0RkYNd2h+U5DOyOJ2/YXYIAPJAcWloGLpKO7k]]></token>
+ <customXml><![CDATA[<custom-xml><Currency>USD</Currency><UseTaxTable>false</UseTaxTable><DispatchTimeMax>3</DispatchTimeMax><ReturnPolicy><ReturnsAcceptedOption>ReturnsNotAccepted</ReturnsAcceptedOption></ReturnPolicy><ShippingDetails><ShippingType>Flat</ShippingType><ShippingServiceOptions><ShippingService>UPS2ndDay</ShippingService><ShippingServicePriority>1</ShippingServicePriority><ShippingServiceCost>5</ShippingServiceCost><ShippingServiceAdditionalCost>2</ShippingServiceAdditionalCost><ShippingSurcharge>1</ShippingSurcharge></ShippingServiceOptions></ShippingDetails></custom-xml>]]></customXml>
+ </EbayConfig>
+</entity-engine-xml>
\ No newline at end of file
Propchange: ofbiz/trunk/specialpurpose/ebay/data/DemoEbayData.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/specialpurpose/ebay/data/DemoEbayData.xml
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/specialpurpose/ebay/data/DemoEbayData.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: ofbiz/trunk/specialpurpose/ebay/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/entitydef/entitymodel.xml?rev=811645&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/ebay/entitydef/entitymodel.xml (added)
+++ ofbiz/trunk/specialpurpose/ebay/entitydef/entitymodel.xml Sat Sep 5 13:32:12 2009
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+
+<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/entitymodel.xsd">
+
+ <!-- ========================================================= -->
+ <!-- ======================== Defaults ======================= -->
+ <!-- ========================================================= -->
+ <title>Entity of an Open For Business Project Component</title>
+ <description>None</description>
+ <copyright>Copyright 2001-2009 The Apache Software Foundation</copyright>
+ <author>None</author>
+ <version>1.0</version>
+
+ <!-- ========================================================= -->
+ <!-- ======================== Data Model ===================== -->
+ <!-- The modules in this file are as follows: -->
+ <!-- - org.ofbiz.ebay.config -->
+ <!-- ========================================================= -->
+
+ <!-- ========================================================= -->
+ <!-- org.ofbiz.ebay.config -->
+ <!-- ========================================================= -->
+
+ <entity entity-name="EbayConfig"
+ package-name="org.ofbiz.ebay.config"
+ title="eBay Configuration">
+ <field name="productStoreId" type="id-ne"></field>
+ <field name="devId" type="value"></field>
+ <field name="appId" type="value"></field>
+ <field name="certId" type="value"></field>
+ <field name="token" type="very-long"></field>
+ <field name="compatibilityLevel" type="id"></field>
+ <field name="siteId" type="id"></field>
+ <field name="xmlGatewayUri" type="value"></field>
+ <field name="customXml" type="very-long"></field>
+ <field name="webSiteId" type="id-ne"></field>
+ <prim-key field="productStoreId"/>
+ <relation type="one" fk-name="EBY_PROD_STORE" rel-entity-name="ProductStore">
+ <key-map field-name="productStoreId"/>
+ </relation>
+ <relation type="one" fk-name="EBY_WEBSITE" rel-entity-name="WebSite">
+ <key-map field-name="webSiteId"/>
+ </relation>
+ </entity>
+</entitymodel>
+
\ No newline at end of file
Propchange: ofbiz/trunk/specialpurpose/ebay/entitydef/entitymodel.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/specialpurpose/ebay/entitydef/entitymodel.xml
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/specialpurpose/ebay/entitydef/entitymodel.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: ofbiz/trunk/specialpurpose/ebay/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/ofbiz-component.xml?rev=811645&r1=811644&r2=811645&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebay/ofbiz-component.xml (original)
+++ ofbiz/trunk/specialpurpose/ebay/ofbiz-component.xml Sat Sep 5 13:32:12 2009
@@ -24,9 +24,11 @@
<resource-loader name="main" type="component"/>
<classpath type="dir" location="config"/>
<classpath type="jar" location="build/lib/*"/>
-
+
+ <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
<entity-resource type="data" reader-name="seed" loader="main" location="data/EbaySecurityData.xml"/>
<entity-resource type="data" reader-name="seed" loader="main" location="data/EbayTypeData.xml"/>
+ <entity-resource type="data" reader-name="seed" loader="main" location="data/DemoEbayData.xml"/>
<service-resource type="model" loader="main" location="servicedef/services.xml"/>
<service-resource type="eca" loader="main" location="servicedef/secas.xml"/>
Modified: ofbiz/trunk/specialpurpose/ebay/servicedef/services.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/servicedef/services.xml?rev=811645&r1=811644&r2=811645&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebay/servicedef/services.xml (original)
+++ ofbiz/trunk/specialpurpose/ebay/servicedef/services.xml Sat Sep 5 13:32:12 2009
@@ -49,6 +49,7 @@
<attribute type="String" mode="IN" name="listingDuration" optional="false"/>
<attribute type="String" mode="IN" name="startPrice" optional="true"/>
<attribute type="String" mode="IN" name="quantity" optional="true"/>
+ <attribute type="String" mode="IN" name="productStoreId" optional="true"/>
</service>
<service name="getEbayCategories" engine="java"
location="org.ofbiz.ebay.ProductsExportToEbay" invoke="getEbayCategories" auth="true">
Modified: ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java?rev=811645&r1=811644&r2=811645&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java (original)
+++ ofbiz/trunk/specialpurpose/ebay/src/org/ofbiz/ebay/ProductsExportToEbay.java Sat Sep 5 13:32:12 2009
@@ -235,7 +235,7 @@
UtilXml.addChildElementValue(pictureDetails, "PictureURL", webSiteUrl + ebayImage, itemDocument);
}
setPaymentMethodAccepted(itemDocument, itemElem, context);
- setMiscDetails(itemDocument, itemElem, context);
+ setMiscDetails(itemDocument, itemElem, context, delegator);
String primaryCategoryId = "";
String categoryCode = (String)context.get("ebayCategory");
if (categoryCode != null) {
@@ -423,8 +423,19 @@
}
}
- private static void setMiscDetails(Document itemDocument, Element itemElem, Map context) throws Exception {
- String customXml = UtilProperties.getPropertyValue(configFileName, "eBayExport.customXml");
+ private static void setMiscDetails(Document itemDocument, Element itemElem, Map context, GenericDelegator delegator) throws Exception {
+ String productStoreId = (String) context.get("productStoreId");
+ String customXml = "";
+ if (UtilValidate.isNotEmpty(productStoreId)) {
+ GenericValue eBayConfig = delegator.findOne("EbayConfig", false, UtilMisc.toMap("productStoreId", productStoreId));
+ if (UtilValidate.isNotEmpty(eBayConfig.getString("customXml"))) {
+ customXml = eBayConfig.getString("customXml");
+ } else {
+ customXml = UtilProperties.getPropertyValue(configFileName, "eBayExport.customXml");
+ }
+ } else {
+ customXml = UtilProperties.getPropertyValue(configFileName, "eBayExport.customXml");
+ }
if (UtilValidate.isNotEmpty(customXml)) {
Document customXmlDoc = UtilXml.readXmlDocument(customXml);
if (UtilValidate.isNotEmpty(customXmlDoc)) {
@@ -527,13 +538,33 @@
private static Map<String, Object> buildEbayConfig(Map<String, Object> context, GenericDelegator delegator) {
Map<String, Object> buildEbayConfigContext = FastMap.newInstance();
- buildEbayConfigContext.put("devID", UtilProperties.getPropertyValue(configFileName, "eBayExport.devID"));
- buildEbayConfigContext.put("appID", UtilProperties.getPropertyValue(configFileName, "eBayExport.appID"));
- buildEbayConfigContext.put("certID", UtilProperties.getPropertyValue(configFileName, "eBayExport.certID"));
- buildEbayConfigContext.put("token", UtilProperties.getPropertyValue(configFileName, "eBayExport.token"));
- buildEbayConfigContext.put("compatibilityLevel", UtilProperties.getPropertyValue(configFileName, "eBayExport.compatibilityLevel"));
- buildEbayConfigContext.put("siteID", UtilProperties.getPropertyValue(configFileName, "eBayExport.siteID"));
- buildEbayConfigContext.put("xmlGatewayUri", UtilProperties.getPropertyValue(configFileName, "eBayExport.xmlGatewayUri"));
+ String productStoreId = (String) context.get("productStoreId");
+ if (UtilValidate.isNotEmpty(productStoreId)) {
+ GenericValue eBayConfig = null;
+ try {
+ eBayConfig = delegator.findOne("EbayConfig", false, UtilMisc.toMap("productStoreId", productStoreId));
+ } catch (GenericEntityException e) {
+ Debug.logError("Unable to find value for EbayConfig", module);
+ e.printStackTrace();
+ }
+ if (UtilValidate.isNotEmpty(eBayConfig)) {
+ buildEbayConfigContext.put("devID", eBayConfig.getString("devId"));
+ buildEbayConfigContext.put("appID", eBayConfig.getString("appId"));
+ buildEbayConfigContext.put("certID", eBayConfig.getString("certId"));
+ buildEbayConfigContext.put("token", eBayConfig.getString("token"));
+ buildEbayConfigContext.put("compatibilityLevel", eBayConfig.getString("compatibilityLevel"));
+ buildEbayConfigContext.put("siteID", eBayConfig.getString("siteId"));
+ buildEbayConfigContext.put("xmlGatewayUri", eBayConfig.getString("xmlGatewayUri"));
+ }
+ } else {
+ buildEbayConfigContext.put("devID", UtilProperties.getPropertyValue(configFileName, "eBayExport.devID"));
+ buildEbayConfigContext.put("appID", UtilProperties.getPropertyValue(configFileName, "eBayExport.appID"));
+ buildEbayConfigContext.put("certID", UtilProperties.getPropertyValue(configFileName, "eBayExport.certID"));
+ buildEbayConfigContext.put("token", UtilProperties.getPropertyValue(configFileName, "eBayExport.token"));
+ buildEbayConfigContext.put("compatibilityLevel", UtilProperties.getPropertyValue(configFileName, "eBayExport.compatibilityLevel"));
+ buildEbayConfigContext.put("siteID", UtilProperties.getPropertyValue(configFileName, "eBayExport.siteID"));
+ buildEbayConfigContext.put("xmlGatewayUri", UtilProperties.getPropertyValue(configFileName, "eBayExport.xmlGatewayUri"));
+ }
return buildEbayConfigContext;
}
Modified: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy?rev=811645&r1=811644&r2=811645&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy (original)
+++ ofbiz/trunk/specialpurpose/ebay/webapp/ebay/WEB-INF/actions/find/ProductsExportToEbay.groovy Sat Sep 5 13:32:12 2009
@@ -16,6 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
+import org.ofbiz.webapp.website.WebSiteWorker;
categoryCode = parameters.categoryCode;
context.categoryCode = categoryCode;
@@ -36,3 +37,9 @@
} else {
context.hideExportOptions = "N";
}
+
+webSite = WebSiteWorker.getWebSite(request);
+if (webSite) {
+ context.productStoreId = webSite.productStoreId;;
+ context.webSiteUrl = webSite.getString("standardContentPrefix")?:"http://demo.ofbiz.org";
+}
Modified: ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl?rev=811645&r1=811644&r2=811645&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl (original)
+++ ofbiz/trunk/specialpurpose/ebay/webapp/ebay/find/productsExportToEbay.ftl Sat Sep 5 13:32:12 2009
@@ -34,6 +34,7 @@
</script>
<div>
<form method="post" action="<@o...@ofbizUrl>" name="ProductsExportToEbay">
+ <input type="hidden" name="productStoreId" value="${productStoreId?if_exists}">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td align="right" class="label">${uiLabelMap.FormFieldTitle_ebayCategory}</td>
Modified: ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml?rev=811645&r1=811644&r2=811645&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml (original)
+++ ofbiz/trunk/specialpurpose/ebay/widget/EbayScreens.xml Sat Sep 5 13:32:12 2009
@@ -170,8 +170,6 @@
<screen name="ProductsExportToEbay">
<section>
<actions>
- <property-map resource="ebayExport.properties" map-name="ebayExportProperties" global="true"/>
- <set field="webSiteUrl" value="${ebayExportProperties.webSiteUrl}"/>
<set field="headerItem" value="export"/>
<set field="titleProperty" value="PageTitleEbayProductsExportToEbay"/>
<set field="selectResult" from-field="parameters.selectResult"/>