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, <[hidden email]> 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(); > } > } > > > |
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, <[hidden email]> 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(); >> } >> } >> >> >> smime.p7s (3K) Download Attachment |
Thanks a lot Jacopo.
Document is updated as per your comment :-) -- Ashish On Fri, Jun 5, 2009 at 3:37 PM, Jacopo Cappellato < [hidden email]> 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, <[hidden email]> 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(); >>> } >>> } >>> >>> >>> >>> > |
Free forum by Nabble | Edit this page |