You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by Jacopo Cappellato <ja...@hotwaxmedia.com> on 2009/06/05 12:07:32 UTC

Re: svn commit: r781926 - in /ofbiz/trunk/applications/product: servicedef/services.xml src/org/ofbiz/product/spreadsheetimport/ImportProductServices.java

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, <as...@apache.org> 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();
>>    }
>> }
>>
>>
>>


Re: svn commit: r781926 - in /ofbiz/trunk/applications/product: servicedef/services.xml src/org/ofbiz/product/spreadsheetimport/ImportProductServices.java

Posted by Ashish Vijaywargiya <vi...@gmail.com>.
Thanks a lot Jacopo.
Document is updated as per your comment :-)

--
Ashish

On Fri, Jun 5, 2009 at 3:37 PM, Jacopo Cappellato <
jacopo.cappellato@hotwaxmedia.com> wrote:

> 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, <as...@apache.org> 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();
>>>   }
>>> }
>>>
>>>
>>>
>>>
>