You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mb...@apache.org on 2017/12/15 20:37:55 UTC
svn commit: r1818330 - in
/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport:
ImportProductHelper.java ImportProductServices.java
Author: mbrohl
Date: Fri Dec 15 20:37:55 2017
New Revision: 1818330
URL: http://svn.apache.org/viewvc?rev=1818330&view=rev
Log:
Improved: General refactoring and code improvements, package
org.apache.ofbiz.product.spreadsheetimport.
(OFBIZ-10082)
Thanks Julian Leichert for reporting and providing the patches.
Modified:
ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport/ImportProductHelper.java
ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport/ImportProductServices.java
Modified: ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport/ImportProductHelper.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport/ImportProductHelper.java?rev=1818330&r1=1818329&r2=1818330&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport/ImportProductHelper.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport/ImportProductHelper.java Fri Dec 15 20:37:55 2017
@@ -36,7 +36,7 @@ public final class ImportProductHelper {
// prepare the product map
public static Map<String, Object> prepareProduct(String productId) {
- Map<String, Object> fields = new HashMap<String, Object>();
+ Map<String, Object> fields = new HashMap<>();
fields.put("productId", productId);
fields.put("productTypeId", "FINISHED_GOOD");
fields.put("internalName", "Product_" + productId);
@@ -48,7 +48,7 @@ public final class ImportProductHelper {
// prepare the inventoryItem map
public static Map<String, Object> prepareInventoryItem(String productId,
BigDecimal quantityOnHand, String inventoryItemId) {
- Map<String, Object> fields = new HashMap<String, Object>();
+ Map<String, Object> fields = new HashMap<>();
fields.put("inventoryItemId", inventoryItemId);
fields.put("inventoryItemTypeId", "NON_SERIAL_INV_ITEM");
fields.put("productId", productId);
@@ -67,8 +67,9 @@ public final class ImportProductHelper {
try {
tmpProductGV = EntityQuery.use(delegator).from("Product").where("productId", productId).queryOne();
if (tmpProductGV != null
- && productId.equals(tmpProductGV.getString("productId")))
+ && productId.equals(tmpProductGV.getString("productId"))) {
productExists = true;
+ }
} catch (GenericEntityException e) {
Debug.logError("Problem in reading data of product", module);
}
Modified: ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport/ImportProductServices.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport/ImportProductServices.java?rev=1818330&r1=1818329&r2=1818330&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport/ImportProductServices.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/spreadsheetimport/ImportProductServices.java Fri Dec 15 20:37:55 2017
@@ -46,7 +46,7 @@ public class ImportProductServices {
public static final String module = ImportProductServices.class.getName();
public static final String resource = "ProductUiLabels";
-
+
/**
* This method is responsible to import spreadsheet data into "Product" and
* "InventoryItem" entities into database. The method uses the
@@ -59,7 +59,7 @@ public class ImportProductServices {
* @param dctx the dispatch context
* @param context the context
* @return the result of the service execution
- * @throws IOException
+ * @throws IOException
*/
public static Map<String, Object> productImportFromSpreadsheet(DispatchContext dctx, Map<String, ? extends Object> context) throws IOException {
Delegator delegator = dctx.getDelegator();
@@ -67,7 +67,7 @@ public class ImportProductServices {
// System.getProperty("user.dir") returns the path upto ofbiz home
// directory
String path = System.getProperty("user.dir") + "/spreadsheet";
- List<File> fileItems = new LinkedList<File>();
+ List<File> fileItems = new LinkedList<>();
if (UtilValidate.isNotEmpty(path)) {
File importDir = new File(path);
@@ -78,29 +78,29 @@ public class ImportProductServices {
if (files == null) {
return ServiceUtil.returnError(UtilProperties.getMessage(resource, "FileFilesIsNull", locale));
}
- for (int i = 0; i < files.length; i++) {
- if (files[i].getName().toUpperCase(Locale.getDefault()).endsWith("XLS")) {
- fileItems.add(files[i]);
+ for (File file : files) {
+ if (file.getName().toUpperCase(Locale.getDefault()).endsWith("XLS")) {
+ fileItems.add(file);
}
}
} else {
- return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
"ProductProductImportDirectoryNotFound", locale));
}
} else {
- return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
"ProductProductImportPathNotSpecified", locale));
}
if (fileItems.size() < 1) {
- return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
"ProductProductImportPathNoSpreadsheetExists", locale) + path);
}
for (File item: fileItems) {
// read all xls file and create workbook one by one.
- List<Map<String, Object>> products = new LinkedList<Map<String,Object>>();
- List<Map<String, Object>> inventoryItems = new LinkedList<Map<String,Object>>();
+ List<Map<String, Object>> products = new LinkedList<>();
+ List<Map<String, Object>> inventoryItems = new LinkedList<>();
POIFSFileSystem fs = null;
HSSFWorkbook wb = null;
try {
@@ -108,7 +108,7 @@ public class ImportProductServices {
wb = new HSSFWorkbook(fs);
} catch (IOException e) {
Debug.logError("Unable to read or create workbook from file", module);
- return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
"ProductProductImportCannotCreateWorkbookFromFile", locale));
}
@@ -127,8 +127,9 @@ public class ImportProductServices {
// read QOH from ninth column
HSSFCell cell5 = row.getCell(5);
BigDecimal quantityOnHand = BigDecimal.ZERO;
- if (cell5 != null && cell5.getCellType() == HSSFCell.CELL_TYPE_NUMERIC)
+ if (cell5 != null && cell5.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
quantityOnHand = new BigDecimal(cell5.getNumericCellValue());
+ }
// check productId if null then skip creating inventory item
// too.
@@ -136,12 +137,13 @@ public class ImportProductServices {
if (!productId.trim().equalsIgnoreCase("") && !productExists) {
products.add(ImportProductHelper.prepareProduct(productId));
- if (quantityOnHand.compareTo(BigDecimal.ZERO) >= 0)
+ if (quantityOnHand.compareTo(BigDecimal.ZERO) >= 0) {
inventoryItems.add(ImportProductHelper.prepareInventoryItem(productId, quantityOnHand,
delegator.getNextSeqId("InventoryItem")));
- else
+ } else {
inventoryItems.add(ImportProductHelper.prepareInventoryItem(productId, BigDecimal.ZERO, delegator
.getNextSeqId("InventoryItem")));
+ }
}
int rowNum = row.getRowNum() + 1;
if (!row.toString().trim().equalsIgnoreCase("") && productExists) {
@@ -160,14 +162,15 @@ public class ImportProductServices {
delegator.create(inventoryItemGV);
} catch (GenericEntityException e) {
Debug.logError("Cannot store product", module);
- return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
"ProductProductImportCannotStoreProduct", locale));
}
}
}
int uploadedProducts = products.size() + 1;
- if (products.size() > 0)
+ if (products.size() > 0) {
Debug.logInfo("Uploaded " + uploadedProducts + " products from file " + item.getName(), module);
+ }
}
return ServiceUtil.returnSuccess();
}