Thank you Ashish.
Maybe a simpler way to submit the service could be to run it from this screen:

https://localhost:8443/webtools/control/runService

(with Service = productImportFromSpreadsheet)

Jacopo

On Jun 5, 2009, at 11:33 AM, Ashish Vijaywargiya wrote:

Updated document is provided on
http://docs.ofbiz.org/display/OFBIZ/Import+Data+Using+Apache+POI+api
Thanks !

--
Ashish

On Fri, Jun 5, 2009 at 12:21 PM, <[email protected]> wrote:

Author: ashish
Date: Fri Jun  5 06:51:03 2009
New Revision: 781926

URL: http://svn.apache.org/viewvc?rev=781926&view=rev
Log:
Wrong location was specified for this service.
Minor fix in code to return error and success message.

I will create the "How To" docs for this in next few hours on the OFBiz
confluence.
As the present document is present in OFBIZ-1810.

Modified:
  ofbiz/trunk/applications/product/servicedef/services.xml

ofbiz/trunk/applications/product/src/org/ofbiz/product/ spreadsheetimport/ImportProductServices.java

Modified: ofbiz/trunk/applications/product/servicedef/services.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/servicedef/services.xml?rev=781926&r1=781925&r2=781926&view=diff

= = = = = = = = = ===================================================================== --- ofbiz/trunk/applications/product/servicedef/services.xml (original) +++ ofbiz/trunk/applications/product/servicedef/services.xml Fri Jun 5
06:51:03 2009
@@ -1235,7 +1235,7 @@
   </service>

   <service name="productImportFromSpreadsheet" engine="java"
-            location="org.ofbiz.poi.ImportProductServices"
invoke="productImportFromSpreadsheet" auth="true">
+
location="org.ofbiz.product.spreadsheetimport.ImportProductServices"
invoke="productImportFromSpreadsheet" auth="true">
       <description>Create product and inventory item</description>
       <attribute name="dirName" type="java.lang.String" mode="IN"
optional="true"/>
   </service>

Modified:
ofbiz/trunk/applications/product/src/org/ofbiz/product/ spreadsheetimport/ImportProductServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/spreadsheetimport/ImportProductServices.java?rev=781926&r1=781925&r2=781926&view=diff

= = = = = = = = = =====================================================================
---
ofbiz/trunk/applications/product/src/org/ofbiz/product/ spreadsheetimport/ImportProductServices.java
(original)
+++
ofbiz/trunk/applications/product/src/org/ofbiz/product/ spreadsheetimport/ImportProductServices.java
Fri Jun  5 06:51:03 2009
@@ -60,7 +60,6 @@
    */
   public static Map<String, Object>
productImportFromSpreadsheet(DispatchContext dctx, Map<String, ? extends
Object> context) {
       GenericDelegator delegator = dctx.getDelegator();
-        Map<String, Object> responseMsgs = FastMap.newInstance();
// System.getProperty("user.dir") returns the path upto ofbiz home
       // directory
       String path = System.getProperty("user.dir") + "/spreadsheet";
@@ -78,17 +77,14 @@
                   }
               }
           } else {
- Debug.logWarning("Directory not found or can't be read",
module);
-                return responseMsgs;
+ return ServiceUtil.returnError("Directory not found or can
not be read");
           }
       } else {
- Debug.logWarning("No path specified, doing nothing", module);
-            return responseMsgs;
+            return ServiceUtil.returnError("No path specified, doing
nothing");
       }

       if (fileItems.size() < 1) {
- Debug.logWarning("No spreadsheet exists in " + path, module);
-            return responseMsgs;
+ return ServiceUtil.returnError("No spreadsheet exists in" +
path);
       }

       for (File item: fileItems) {
@@ -102,7 +98,7 @@
               wb = new HSSFWorkbook(fs);
           } catch (IOException e) {
               Debug.logError("Unable to read or create workbook from
file", module);
-                return responseMsgs;
+ return ServiceUtil.returnError("Unable to read or create
workbook from file");
           }

           // get first sheet
@@ -113,18 +109,17 @@
               if (row != null) {
// read productId from first column "sheet column index
                   // starts from 0"
-                    HSSFCell cell1 = row.getCell((int) 1);
-                    cell1.setCellType(HSSFCell.CELL_TYPE_STRING);
-                    String productId =
cell1.getRichStringCellValue().toString();
+                    HSSFCell cell2 = row.getCell((int) 2);
+                    cell2.setCellType(HSSFCell.CELL_TYPE_STRING);
+                    String productId =
cell2.getRichStringCellValue().toString();
                   // read QOH from ninth column
-                    HSSFCell cell8 = row.getCell((int) 8);
+                    HSSFCell cell5 = row.getCell((int) 5);
                   BigDecimal quantityOnHand = BigDecimal.ZERO;
-                    if (cell8 != null && cell8.getCellType() ==
HSSFCell.CELL_TYPE_NUMERIC)
-                        quantityOnHand = new
BigDecimal(cell8.getNumericCellValue());
+                    if (cell5 != null && cell5.getCellType() ==
HSSFCell.CELL_TYPE_NUMERIC)
+                        quantityOnHand = new
BigDecimal(cell5.getNumericCellValue());

// check productId if null then skip creating inventory
item
                   // too.
-
                   boolean productExists =
ImportProductHelper.checkProductExists(productId, delegator);

                   if (productId != null &&
!productId.trim().equalsIgnoreCase("") && !productExists) {
@@ -137,8 +132,7 @@
                                   .getNextSeqId("InventoryItem")));
                   }
                   int rowNum = row.getRowNum() + 1;
-                    if (row.toString() != null &&
!row.toString().trim().equalsIgnoreCase("") && products.size() > 0
-                            && !productExists) {
+                    if (row.toString() != null &&
!row.toString().trim().equalsIgnoreCase("") && productExists) {
Debug.logWarning("Row number " + rowNum + " not
imported from " + item.getName(), module);
                   }
               }
@@ -162,6 +156,6 @@
           if (products.size() > 0)
Debug.logInfo("Uploaded " + uploadedProducts + " products
from file " + item.getName(), module);
       }
-        return responseMsgs;
+        return ServiceUtil.returnSuccess();
   }
}




Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to