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();
>>> }
>>> }
>>>
>>>
>>>
>>>
>