Author: hansbak
Date: Thu Feb 25 06:36:14 2010
New Revision: 916150

URL: http://svn.apache.org/viewvc?rev=916150&view=rev
Log:
Ebaystore update:
 - function setting for your store run auto disput and auto Relisting
        - create new entity called EbayProductStorePref used for setting 
automation perference data.

Added:
    ofbiz/trunk/specialpurpose/ebaystore/servicedef/secas.xml
    
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy
Removed:
    ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreScheduledJobs.xml
Modified:
    ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml
    ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml
    ofbiz/trunk/specialpurpose/ebaystore/entitydef/entitymodel.xml
    ofbiz/trunk/specialpurpose/ebaystore/ofbiz-component.xml
    ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml
    
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java
    ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml
    ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml
    ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml

Modified: ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml?rev=916150&r1=916149&r2=916150&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml (original)
+++ ofbiz/trunk/specialpurpose/ebaystore/config/EbayStoreUiLabels.xml Thu Feb 
25 06:36:14 2010
@@ -205,4 +205,25 @@
     <property key="requireEbayInventory">
         <value xml:lang="en">Require eBay Inventory</value>
     </property>
+    <property key="EbayAutomationDispute">
+        <value xml:lang="en">Automation Dispute</value>
+    </property>
+    <property key="EbayDisputeCheckoutNotComplete">
+        <value xml:lang="en">Create Dispute if checkout has not been 
completed</value>
+    </property>
+    <property key="EbayDisputeNotPay">
+        <value xml:lang="en">Create Dispute if checkout has been completed but 
no payment has been received</value>
+    </property>
+    <property key="EbayAfter">
+        <value xml:lang="en">After</value>
+    </property>
+    <property key="EbayReason">
+        <value xml:lang="en">Reason</value>
+    </property>
+    <property key="EbayExplanation">
+        <value xml:lang="en">Explanation</value>
+    </property>
+    <property key="EbayAddSecondChanceOffer">
+        <value xml:lang="en">Add Second Chance Offer</value>
+    </property>
 </resource>

Modified: ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml?rev=916150&r1=916149&r2=916150&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml (original)
+++ ofbiz/trunk/specialpurpose/ebaystore/data/EbayStoreTypeData.xml Thu Feb 25 
06:36:14 2010
@@ -24,4 +24,10 @@
     
     <EnumerationType description="Inventory Reservation For Ebay Store" 
enumTypeId="EBAY_INV_RESERVE" hasTable="N" parentTypeId=""/>
     <Enumeration description="ebay inventory reserve" enumCode="EBAY_INV" 
enumId="EBAY_INV_RES" sequenceId="01" enumTypeId="EBAY_INV_RESERVE"/>
+    
+    <EnumerationType description="Ebay setting auto preferences" 
enumTypeId="EBAY_AUTO_PREF" hasTable="N" parentTypeId=""/>
+    
+    <Enumeration enumId="EBAY_AUTO_DISPUTE1" description="Automatic Dispute 
not complete" enumTypeId="EBAY_AUTO_PREF"/>
+    <Enumeration enumId="EBAY_AUTO_DISPUTE2" description="Automatic Dispute 
not pay" enumTypeId="EBAY_AUTO_PREF"/>
+       <Enumeration enumId="EBAY_AUTO_RELISTING" description="Automatic 
Relisting" enumTypeId="EBAY_AUTO_PREF"/>
 </entity-engine-xml>

Modified: ofbiz/trunk/specialpurpose/ebaystore/entitydef/entitymodel.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/entitydef/entitymodel.xml?rev=916150&r1=916149&r2=916150&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/specialpurpose/ebaystore/entitydef/entitymodel.xml Thu Feb 25 
06:36:14 2010
@@ -58,6 +58,26 @@
             <key-map field-name="productStoreId"/>
         </relation>
     </entity>
-    
+    <entity entity-name="EbayProductStorePref" 
package-name="org.ofbiz.ebay.store"
+         title="Ebay store and Preference">
+        <field name="productStoreId" type="id-ne"/>
+        <field name="autoPrefEnumId" type="id-ne"/>
+        <field name="autoPrefJobId" type="id-ne"/>
+        <field name="enabled" type="indicator"/>
+        <field name="condition1" type="value"/>
+        <field name="condition2" type="value"/>
+        <field name="condition3" type="value"/>
+        <prim-key field="productStoreId"/>
+        <prim-key field="autoPrefEnumId"/>
+        <relation type="one" fk-name="EBY_STR_PREF" 
rel-entity-name="ProductStore">
+            <key-map field-name="productStoreId"/>
+        </relation>
+        <relation type="one" fk-name="EBY_STR_ENUM" 
rel-entity-name="Enumeration">
+            <key-map field-name="autoPrefEnumId" rel-field-name="enumId"/>
+        </relation>
+        <relation type="one" fk-name="EBY_STR_JOB" 
rel-entity-name="JobSandbox">
+            <key-map field-name="autoPrefJobId" rel-field-name="jobId"/>
+        </relation>
+    </entity>
 </entitymodel>    
     
\ No newline at end of file

Modified: ofbiz/trunk/specialpurpose/ebaystore/ofbiz-component.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/ofbiz-component.xml?rev=916150&r1=916149&r2=916150&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/ofbiz-component.xml (original)
+++ ofbiz/trunk/specialpurpose/ebaystore/ofbiz-component.xml Thu Feb 25 
06:36:14 2010
@@ -35,6 +35,7 @@
     <entity-resource type="data" reader-name="demo" loader="main" 
location="data/DemoEbayStoreData.xml"/>
     <entity-resource type="data" reader-name="demo" loader="main" 
location="data/EbayStoreScheduledJobs.xml"/>
     
+    <service-resource type="eca" loader="main" 
location="servicedef/secas.xml"/>
     <service-resource type="model" loader="main" 
location="servicedef/services.xml"/>
     
     <webapp name="ebaystore"

Added: ofbiz/trunk/specialpurpose/ebaystore/servicedef/secas.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/servicedef/secas.xml?rev=916150&view=auto
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/servicedef/secas.xml (added)
+++ ofbiz/trunk/specialpurpose/ebaystore/servicedef/secas.xml Thu Feb 25 
06:36:14 2010
@@ -0,0 +1,42 @@
+<?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.
+-->
+
+<service-eca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+        
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/service-eca.xsd";>
+    <eca service="createEbayProductStorePref" event="commit">
+       <condition operator="equals" field-name="enabled" value="Y"/>
+       <condition operator="is-not-empty" field-name="serviceName"/>
+       <action mode="sync" service="startEbayAutoPreference"/>
+    </eca>
+    <eca service="updateEbayProductStorePref" event="commit">
+       <condition operator="equals" field-name="enabled" value="Y"/>
+       <condition operator="is-not-empty" field-name="serviceName"/>
+       <action mode="sync" service="startEbayAutoPreference"/>
+    </eca>
+    <eca service="createEbayProductStorePref" event="commit">
+       <condition operator="equals" field-name="enabled" value="N"/>
+       <condition operator="is-not-empty" field-name="serviceName"/>
+       <action mode="sync" service="stopEbayAutoPreference"/>
+    </eca>
+    <eca service="updateEbayProductStorePref" event="commit">
+       <condition operator="equals" field-name="enabled" value="N"/>
+       <action mode="sync" service="stopEbayAutoPreference"/>
+    </eca>
+</service-eca>
\ No newline at end of file

Modified: ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml?rev=916150&r1=916149&r2=916150&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml (original)
+++ ofbiz/trunk/specialpurpose/ebaystore/servicedef/services.xml Thu Feb 25 
06:36:14 2010
@@ -326,4 +326,27 @@
         <attribute name="itemId" mode="IN" type="String" optional="false"/>
         <attribute name="checkVerify" mode="OUT" type="Boolean" 
optional="false"/>
     </service>
+    <service name="startEbayAutoPreference" engine="java" 
transaction-timeout="3600"
+        location="org.ofbiz.ebaystore.EbayStoreHelper" 
invoke="startEbayAutoPreference" auth="true">
+        <attribute name="productStoreId" mode="IN" type="String" 
optional="false"/>
+        <attribute name="autoPrefEnumId" mode="IN" type="String" 
optional="false"/>
+        <attribute name="serviceName" mode="IN" type="String" optional="true"/>
+    </service>
+    <service name="stopEbayAutoPreference" engine="java" 
transaction-timeout="3600"
+        location="org.ofbiz.ebaystore.EbayStoreHelper" 
invoke="stopEbayAutoPreference" auth="true">
+        <attribute name="productStoreId" mode="IN" type="String" 
optional="false"/>
+        <attribute name="autoPrefEnumId" mode="IN" type="String" 
optional="false"/>
+        <attribute name="serviceName" mode="IN" type="String" optional="true"/>
+    </service>
+    <service name="createEbayProductStorePref" engine="entity-auto" 
default-entity-name="EbayProductStorePref" invoke="create" auth="true">
+       <auto-attributes include="pk" mode="IN" optional="false"/>
+        <auto-attributes include="nonpk" mode="IN" optional="true"/>
+        <attribute name="serviceName" mode="IN" type="String" 
optional="false"/>
+    </service>
+    <service name="updateEbayProductStorePref" engine="entity-auto" 
default-entity-name="EbayProductStorePref" invoke="update" auth="true" >
+       <auto-attributes include="pk" mode="IN" optional="false"/>
+        <auto-attributes include="nonpk" mode="IN" optional="true" />
+        <attribute name="enabled" mode="IN" type="String" optional="false" 
default-value="N"/>
+        <attribute name="serviceName" mode="IN" type="String" 
optional="false"/>
+    </service>
 </services>
\ No newline at end of file

Modified: 
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java?rev=916150&r1=916149&r2=916150&view=diff
==============================================================================
--- 
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java
 (original)
+++ 
ofbiz/trunk/specialpurpose/ebaystore/src/org/ofbiz/ebaystore/EbayStoreHelper.java
 Thu Feb 25 06:36:14 2010
@@ -19,20 +19,8 @@
 
 package org.ofbiz.ebaystore;
 
-import java.io.BufferedReader;
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.math.BigDecimal;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.sql.Timestamp;
-import java.text.ParsePosition;
-import java.text.SimpleDateFormat;
-import java.util.Collection;
 import java.util.Date;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -42,21 +30,20 @@
 import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.UtilDateTime;
 import org.ofbiz.base.util.UtilMisc;
-import org.ofbiz.base.util.UtilProperties;
 import org.ofbiz.base.util.UtilValidate;
-import org.ofbiz.base.util.UtilXml;
 import org.ofbiz.entity.Delegator;
 import org.ofbiz.entity.GenericEntityException;
 import org.ofbiz.entity.GenericValue;
-import org.ofbiz.entity.util.EntityUtil;
-import org.ofbiz.order.shoppingcart.ShoppingCart;
-import org.ofbiz.party.contact.ContactHelper;
+import org.ofbiz.entity.serialize.SerializeException;
+import org.ofbiz.entity.serialize.XmlSerializer;
+import org.ofbiz.service.DispatchContext;
 import org.ofbiz.service.GenericServiceException;
 import org.ofbiz.service.LocalDispatcher;
-import org.ofbiz.service.ModelService;
 import org.ofbiz.service.ServiceUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
+import org.ofbiz.service.calendar.RecurrenceInfo;
+import org.ofbiz.service.calendar.RecurrenceInfoException;
+import org.ofbiz.service.config.ServiceConfigUtil;
+import org.ofbiz.service.job.JobManager;
 
 import com.ebay.sdk.ApiAccount;
 import com.ebay.sdk.ApiContext;
@@ -66,6 +53,8 @@
 
 import org.ofbiz.ebay.EbayHelper;
 
+import sun.net.www.content.text.Generic;
+
 public class EbayStoreHelper {
     private static final String configFileName = "ebayStore.properties";
     private static final String module = EbayStoreHelper.class.getName();
@@ -236,4 +225,120 @@
           }
           return flag;
    }
+       public static Map<String, Object> 
startEbayAutoPreference(DispatchContext dctx, Map<String, ? extends Object> 
context) {
+               Map<String, Object>result = FastMap.newInstance();
+               LocalDispatcher dispatcher = dctx.getDispatcher();
+               GenericValue userLogin = (GenericValue) 
context.get("userLogin");
+               Delegator delegator = dctx.getDelegator();
+               Locale locale = (Locale) context.get("locale");
+               String productStoreId = (String) context.get("productStoreId");
+               String autoPrefEnumId = (String) context.get("autoPrefEnumId");
+               String serviceName = (String) context.get("serviceName");
+               try{
+                       GenericValue ebayProductPref = 
delegator.findByPrimaryKey("EbayProductStorePref", 
UtilMisc.toMap("productStoreId", productStoreId, "autoPrefEnumId", 
autoPrefEnumId));
+                       String jobId = 
ebayProductPref.getString("autoPrefJobId");
+                       if (UtilValidate.isNotEmpty(jobId)) {
+                               GenericValue job = 
delegator.findByPrimaryKey("JobSandbox", UtilMisc.toMap("jobId", jobId));
+                               job = EbayStoreHelper.getCurrentJob(delegator, 
userLogin, job);
+                               if 
(!job.getString("statusId").equals("SERVICE_PENDING")) {
+                                       Map<String, Object>inMap = 
FastMap.newInstance();
+                                       inMap.put("jobId", jobId);
+                                       inMap.put("userLogin", userLogin);
+                                       dispatcher.runSync("resetScheduledJob", 
inMap);
+                               }
+                       } 
+                       if 
(UtilValidate.isEmpty(ebayProductPref.getString("autoPrefJobId"))) {
+                               if (UtilValidate.isEmpty(serviceName)) return 
ServiceUtil.returnError("If you add a new job, you have to add serviec name.");
+                               /*** RuntimeData ***/
+                       String runtimeDataId = null;
+                       GenericValue runtimeData = 
delegator.makeValue("RuntimeData");
+                       runtimeData = delegator.createSetNextSeqId(runtimeData);
+                       runtimeDataId = runtimeData.getString("runtimeDataId");
+                       
+                               /*** JobSandbox ***/
+                               // create the recurrence
+                               String infoId = null;
+                               String jobName = null;
+                               long startTime = 
UtilDateTime.getNextDayStart(UtilDateTime.nowTimestamp()).getTime();
+                               RecurrenceInfo info;
+                               // run every day when day start
+                               info = RecurrenceInfo.makeInfo(delegator, 
startTime, 4, 1, -1);
+                       infoId = info.primaryKey();
+                       // set the persisted fields
+                       GenericValue enumeration = 
delegator.findByPrimaryKey("Enumeration", UtilMisc.toMap("enumId", 
autoPrefEnumId));
+                               jobName = enumeration.getString("description");
+                               if (jobName == null) {
+                                       jobName = Long.toString((new 
Date().getTime()));
+                               }
+                               Map<String, Object> jFields = UtilMisc.<String, 
Object>toMap("jobName", jobName, "runTime", UtilDateTime.nowTimestamp(),
+                               "serviceName", serviceName, "statusId", 
"SERVICE_PENDING", "recurrenceInfoId", infoId, "runtimeDataId", runtimeDataId);
+
+                       // set the pool ID
+                       jFields.put("poolId", ServiceConfigUtil.getSendPool());
+
+                       // set the loader name
+                       jFields.put("loaderName", JobManager.dispatcherName);
+                       // create the value and store
+                       GenericValue jobV;
+                       jobV = delegator.makeValue("JobSandbox", jFields);
+                       GenericValue jobSandbox = 
delegator.createSetNextSeqId(jobV);
+                       
+                       ebayProductPref.set("autoPrefJobId", 
jobSandbox.getString("jobId"));
+                       ebayProductPref.store();
+                       
+                       Map<String, Object>infoData = FastMap.newInstance();
+                       infoData.put("jobId", jobSandbox.getString("jobId"));
+                       runtimeData.set("runtimeInfo", 
XmlSerializer.serialize(infoData));
+                       runtimeData.store();
+                       }
+               } catch(GenericEntityException e){
+                       return ServiceUtil.returnError(e.getMessage());
+               } catch (GenericServiceException e) {
+                       return ServiceUtil.returnError(e.getMessage());
+               } catch (SerializeException e) {
+               return ServiceUtil.returnError(e.getMessage());
+        } catch (IOException e) {
+               return ServiceUtil.returnError(e.getMessage());
+        }catch (RecurrenceInfoException e) {
+               return ServiceUtil.returnError(e.getMessage());
+               }
+               return result;
+       }
+       public static Map<String, Object> 
stopEbayAutoPreference(DispatchContext dctx, Map<String, ? extends Object> 
context) {
+               Map<String, Object>result = FastMap.newInstance();
+               LocalDispatcher dispatcher = dctx.getDispatcher();
+               GenericValue userLogin = (GenericValue) 
context.get("userLogin");
+               Delegator delegator = dctx.getDelegator();
+               Locale locale = (Locale) context.get("locale");
+               String productStoreId = (String) context.get("productStoreId");
+               String autoPrefEnumId = (String) context.get("autoPrefEnumId");
+               try{
+                       GenericValue ebayProductPref = 
delegator.findByPrimaryKey("EbayProductStorePref", 
UtilMisc.toMap("productStoreId", productStoreId, "autoPrefEnumId", 
autoPrefEnumId));
+                       String jobId = 
ebayProductPref.getString("autoPrefJobId");
+                       GenericValue job = 
delegator.findByPrimaryKey("JobSandbox", UtilMisc.toMap("jobId", jobId));
+                       job = EbayStoreHelper.getCurrentJob(delegator, 
userLogin, job);
+                       Map<String, Object>inMap = FastMap.newInstance();
+                       inMap.put("userLogin", userLogin);
+                       inMap.put("jobId", job.getString("jobId"));
+                       dispatcher.runSync("cancelScheduledJob", inMap);
+               } catch(GenericEntityException e){
+                       return ServiceUtil.returnError(e.getMessage());
+               } catch(GenericServiceException e){
+                       return ServiceUtil.returnError(e.getMessage());
+               }
+               return result;
+       }
+       private static GenericValue getCurrentJob(Delegator delegator, 
GenericValue userLogin, GenericValue job){
+               try {
+                       List<GenericValue> jobNew = 
delegator.findByAnd("JobSandbox", UtilMisc.toMap("previousJobId", 
job.getString("jobId")));
+                       if (jobNew.size() != 0) {
+                               job = EbayStoreHelper.getCurrentJob(delegator, 
userLogin, jobNew.get(0));
+                       } else {
+                               return job;
+                       }
+               } catch (GenericEntityException e) {
+                       return null;
+               }
+               return job;
+       }
 }

Added: 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy?rev=916150&view=auto
==============================================================================
--- 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy
 (added)
+++ 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy
 Thu Feb 25 06:36:14 2010
@@ -0,0 +1,100 @@
+/*
+ * 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.
+ */
+
+import org.ofbiz.base.util.*;
+
+import com.ebay.soap.eBLBaseComponents.DisputeReasonCodeType;
+import com.ebay.soap.eBLBaseComponents.DisputeExplanationCodeType;
+import javolution.util.FastList;
+import javolution.util.FastMap;
+
+public static String makeSpace(String text){
+       String result = "";
+       for (int i=0; i<text.length(); i++) {
+               if (i < text.length()-1) {
+                       if 
(String.valueOf(text.charAt(i+1)).equals(String.valueOf(text.charAt(i+1)).toUpperCase()))
 {
+                               result = result + 
String.valueOf(text.charAt(i)) + " " ;
+                       } else {
+                               result = result + 
String.valueOf(text.charAt(i));
+                       } 
+               }else{
+                       result = result + String.valueOf(text.charAt(i));
+               }
+       }
+       return result;
+}
+reasons = FastList.newInstance();
+explanations = FastList.newInstance();
+
+entry = FastMap.newInstance();
+entry.put("reasonCode", DisputeReasonCodeType.BUYER_HAS_NOT_PAID.toString());
+entry.put("value",  
makeSpace(DisputeReasonCodeType.BUYER_HAS_NOT_PAID.value()));
+reasons.add(entry);
+entry = FastMap.newInstance();
+entry.put("reasonCode", 
DisputeReasonCodeType.TRANSACTION_MUTUALLY_CANCELED.toString());
+entry.put("value",  
makeSpace(DisputeReasonCodeType.TRANSACTION_MUTUALLY_CANCELED.value()));
+reasons.add(entry);
+
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.BUYER_HAS_NOT_RESPONDED.toString());
+entry.put("value", 
makeSpace(DisputeExplanationCodeType.BUYER_HAS_NOT_RESPONDED.value()));
+explanations.add(entry);
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.BUYER_REFUSED_TO_PAY.toString());
+entry.put("value", 
makeSpace(DisputeExplanationCodeType.BUYER_REFUSED_TO_PAY.value()));
+explanations.add(entry);
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.BUYER_RETURNED_ITEM_FOR_REFUND.toString());
+entry.put("value", 
makeSpace(DisputeExplanationCodeType.BUYER_RETURNED_ITEM_FOR_REFUND.value()));
+explanations.add(entry);
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.UNABLE_TO_RESOLVE_TERMS.toString());
+entry.put("value", 
makeSpace(DisputeExplanationCodeType.UNABLE_TO_RESOLVE_TERMS.value()));
+explanations.add(entry);
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.BUYER_PURCHASING_MISTAKE.toString());
+entry.put("value", 
makeSpace(DisputeExplanationCodeType.BUYER_PURCHASING_MISTAKE.value()));
+explanations.add(entry);
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.SHIP_COUNTRY_NOT_SUPPORTED.toString());
+entry.put("value",  
makeSpace(DisputeExplanationCodeType.SHIP_COUNTRY_NOT_SUPPORTED.value()));
+explanations.add(entry);
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.SHIPPING_ADDRESS_NOT_CONFIRMED.toString());
+entry.put("value", 
makeSpace(DisputeExplanationCodeType.SHIPPING_ADDRESS_NOT_CONFIRMED.value()));
+explanations.add(entry);
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.PAYMENT_METHOD_NOT_SUPPORTED.toString());
+entry.put("value", 
makeSpace(DisputeExplanationCodeType.PAYMENT_METHOD_NOT_SUPPORTED.value()));
+explanations.add(entry);
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.BUYER_NO_LONGER_REGISTERED.toString());
+entry.put("value", 
makeSpace(DisputeExplanationCodeType.BUYER_NO_LONGER_REGISTERED.value()));
+explanations.add(entry);
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.BUYER_NO_LONGER_REGISTERED.toString());
+entry.put("value", 
makeSpace(DisputeExplanationCodeType.BUYER_NO_LONGER_REGISTERED.value()));
+explanations.add(entry);
+entry = FastMap.newInstance();
+entry.put("explanationCode", 
DisputeExplanationCodeType.OTHER_EXPLANATION.toString());
+entry.put("value", 
makeSpace(DisputeExplanationCodeType.OTHER_EXPLANATION.value()));
+explanations.add(entry);
+
+context.reasons = reasons;
+context.explanations = explanations;
\ No newline at end of file

Modified: 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml?rev=916150&r1=916149&r2=916150&view=diff
==============================================================================
--- 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml 
(original)
+++ 
ofbiz/trunk/specialpurpose/ebaystore/webapp/ebaystore/WEB-INF/controller.xml 
Thu Feb 25 06:36:14 2010
@@ -125,6 +125,18 @@
         <response name="success" type="view" value="AutomationPreferences"/>
         <response name="error" type="view" value="AutomationPreferences"/>
     </request-map>
+    <request-map uri="createEbayProductStorePref">
+        <security auth="true" https="true"/>
+        <event type="service" invoke="createEbayProductStorePref"/>
+        <response name="success" type="view" value="AutomationPreferences"/>
+        <response name="error" type="view" value="AutomationPreferences"/>
+    </request-map>
+    <request-map uri="updateEbayProductStorePref">
+        <security auth="true" https="true"/>
+        <event type="service" invoke="updateEbayProductStorePref"/>
+        <response name="success" type="view" value="AutomationPreferences"/>
+        <response name="error" type="view" value="AutomationPreferences"/>
+    </request-map>
     <!-- Block item out of stock -->
     <request-map uri="blockItemOutOfStock">
         <security https="true" auth="true"/>

Modified: 
ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml?rev=916150&r1=916149&r2=916150&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml 
(original)
+++ ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerForms.xml Thu 
Feb 25 06:36:14 2010
@@ -23,15 +23,54 @@
 <forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
         
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd";>
     <!-- Automation Preference -->
-    <form name="EditAutomationRelistSoldItems" 
target="createEbayAutomaticRelistItems" type="single">
-        <alt-target use-when="job!=null" 
target="updateEbayAutomaticRelistItems"/>
-        <field name="jobId" use-when="job!=null"><hidden 
value="${job.jobId}"/></field>
-        <field name="jobId" use-when="job==null"><hidden 
value="${jobId}"/></field>
-        <field name="authUserLoginId"><hidden value="${userLoginId}"/></field>
+    <form name="EditAutomationRelistSoldItems" 
target="createEbayProductStorePref" type="single" 
default-map-name="ebayPrefRelisting" >
+       <alt-target use-when="ebayPrefRelisting!=null" 
target="updateEbayProductStorePref"/>
         <field name="productStoreId"><hidden 
value="${parameters.productStoreId}"/></field>
-        <field name="startDateTime"><date-time 
default-value="${job.startDateTime}"/></field>
-        <field name="finishDateTime"><date-time 
default-value="${job.finishDateTime}"/></field>
-        <field name="submit" 
title="${uiLabelMap.CommonUpdate}"><submit/></field>
+        <field name="enabled" tooltip="${uiLabelMap.EbayAutoRelisting}" 
tooltip-style="h3"><check/></field>
+        <field name="condition1"><hidden value="${userLoginId}"/></field>
+        <field name="condition2" 
title="${uiLabelMap.CommonFromDate}"><date-time/></field>
+        <field name="condition3" 
title="${uiLabelMap.CommonThruDate}"><date-time/></field>
+        <field name="serviceName"><hidden value="${serviceName}"/></field>
+        <field name="autoPrefEnumId"><hidden 
value="${autoPrefEnumId}"/></field>
+        <field name="submit" 
title="${uiLabelMap.CommonApply}"><submit/></field>
+    </form>
+    <form name="AutomationDisputeNotComplete" 
target="createEbayProductStorePref" type="single" 
default-map-name="ebayPrefDispute1">
+        <alt-target use-when="ebayPrefDispute1!=null" 
target="updateEbayProductStorePref"/>
+        <field name="productStoreId"><hidden 
value="${parameters.productStoreId}"/></field>
+        <field name="enabled" 
tooltip="${uiLabelMap.EbayDisputeCheckoutNotComplete}" 
tooltip-style="h3"><check/></field>
+        <field name="condition1" title="${uiLabelMap.EbayAfter}" 
tooltip-style="text" tooltip="${uiLabelMap.CommonDays}" ><text default-value="" 
size="5"/></field>
+        <field name="condition2" title="${uiLabelMap.EbayReason}">
+               <drop-down >
+                       <list-options key-name="reasonCode" list-name="reasons" 
description="${value}"/>
+               </drop-down>
+        </field>
+        <field name="condition3" title="${uiLabelMap.EbayExplanation}">
+                       <drop-down >
+                       <list-options key-name="explanationCode" 
list-name="explanations" description="${value}"/>
+               </drop-down>        
+        </field>
+        <field name="serviceName"><hidden value="${serviceName1}"/></field>
+        <field name="autoPrefEnumId"><hidden 
value="${autoPrefEnumId1}"/></field>
+        <field name="submit" 
title="${uiLabelMap.CommonApply}"><submit/></field>
+    </form>
+    <form name="AutomationDisputeNotPay" target="createEbayProductStorePref" 
type="single" default-map-name="ebayPrefDispute2">
+        <alt-target use-when="ebayPrefDispute2!=null" 
target="updateEbayProductStorePref"/>
+        <field name="productStoreId"><hidden 
value="${parameters.productStoreId}"/></field>
+        <field name="enabled" tooltip="${uiLabelMap.EbayDisputeNotPay}" 
tooltip-style="h3"><check/></field>
+        <field name="condition1" title="${uiLabelMap.EbayAfter}" 
tooltip-style="text" tooltip="${uiLabelMap.CommonDays}" ><text default-value="" 
size="5"/></field>
+        <field name="condition2" title="${uiLabelMap.EbayReason}">
+               <drop-down >
+                       <list-options key-name="reasonCode" list-name="reasons" 
description="${value}"/>
+               </drop-down>
+        </field>
+        <field name="condition3" title="${uiLabelMap.EbayExplanation}">
+                       <drop-down >
+                       <list-options key-name="explanationCode" 
list-name="explanations" description="${value}"/>
+               </drop-down>        
+        </field>
+        <field name="serviceName"><hidden value="${serviceName2}"/></field>
+        <field name="autoPrefEnumId"><hidden 
value="${autoPrefEnumId2}"/></field>
+        <field name="submit" 
title="${uiLabelMap.CommonApply}"><submit/></field>
     </form>
     <!-- Sold Listing -->
     <form name="SoldItemList" type="list"  target="doAction" 
list-name="soldItemList"

Modified: 
ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml?rev=916150&r1=916149&r2=916150&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml 
(original)
+++ ofbiz/trunk/specialpurpose/ebaystore/widget/EbaySellingManagerScreens.xml 
Thu Feb 25 06:36:14 2010
@@ -242,13 +242,13 @@
                     <field-map field-name="productStoreId" 
from-field="parameters.productStoreId"/>
                 </service>
                 <set field="userLoginId" from-field="result.userLoginId"/>
-                <script 
location="component://ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetEbayJobsandbox.groovy"/>
             </actions>
             <widgets>
                 <decorator-screen name="SellingManagerDecorator" 
location="${parameters.mainDecoratorLocation}">
                     <decorator-section name="body">
                         <decorator-section-include name="body"/>
                         <include-screen name="AutomationRelistSoldItems"/>
+                        <include-screen name="AutomationDispute"/>
                     </decorator-section>
                 </decorator-screen>
             </widgets>
@@ -258,14 +258,51 @@
         <section>
             <actions>
                 <set field="headerItem" value="ebayStore"/>
+                <set field="autoPrefEnumId" value="EBAY_AUTO_RELISTING"/>
+                <set field="serviceName" value="automaticEbayRelistSoldItems"/>
+                <entity-one value-field="ebayPrefRelisting" 
entity-name="EbayProductStorePref">
+                       <field-map field-name="productStoreId" 
from-field="parameters.productStoreId"/>
+                       <field-map field-name="autoPrefEnumId" 
from-field="autoPrefEnumId"/>
+                </entity-one>
+                 <service service-name="getEbayStoreUser" result-map="result">
+                       <field-map field-name="productStoreId" 
from-field="parameters.productStoreId"/>
+                </service>
+                <set field="userLoginId" from-field="result.userLoginId"/>
             </actions>
             <widgets>
-                <screenlet title="${uiLabelMap.EbayAutomationRelistItems}">
+                <screenlet title="${uiLabelMap.EbayAutomationRelistItems}" 
collapsible="true" name="EbayAutomationRelistItems">
                     <include-form name="EditAutomationRelistSoldItems"  
location="component://ebaystore/widget/EbaySellingManagerForms.xml"/>
                 </screenlet>
             </widgets>
         </section>
     </screen>
+    <screen name="AutomationDispute">
+        <section>
+            <actions>
+                <set field="headerItem" value="ebayStore"/>
+                <set field="tabButtonItem" value="automaticEbayDisputeItems"/>
+                <set field="autoPrefEnumId1" value="EBAY_AUTO_DISPUTE1"/>
+                <set field="autoPrefEnumId2" value="EBAY_AUTO_DISPUTE2"/>
+                <set field="serviceName1" 
value="eBayAutomaticDisputeNotComplete"/>
+                <set field="serviceName2" value="eBayAutomaticDisputeNotPay"/>
+                <entity-one value-field="ebayPrefDispute1" 
entity-name="EbayProductStorePref">
+                       <field-map field-name="productStoreId" 
from-field="parameters.productStoreId"/>
+                       <field-map field-name="autoPrefEnumId" 
from-field="autoPrefEnumId1"/>
+                </entity-one>
+                <entity-one value-field="ebayPrefDispute2" 
entity-name="EbayProductStorePref">
+                       <field-map field-name="productStoreId" 
from-field="parameters.productStoreId"/>
+                       <field-map field-name="autoPrefEnumId" 
from-field="autoPrefEnumId2"/>
+                </entity-one>
+                <script 
location="component://ebaystore/webapp/ebaystore/WEB-INF/actions/automationPreferences/GetDisputeInfo.groovy"/>
+            </actions>
+            <widgets>
+                <screenlet title="${uiLabelMap.EbayAutomaticDispute}" 
collapsible="true" name="AutomationDispute">
+                    <include-form name="AutomationDisputeNotComplete"  
location="component://ebaystore/widget/EbaySellingManagerForms.xml"/>
+                    <include-form name="AutomationDisputeNotPay"  
location="component://ebaystore/widget/EbaySellingManagerForms.xml"/>
+                </screenlet>
+            </widgets>
+        </section>
+    </screen>
     <!-- Sold -->
        <screen name="EbaySoldListing">
         <section>


Reply via email to