ArrayList<Tuple8<NameValue<String>, NameValue<String>, NameValue<String>, NameValue<Integer>, NameValue<Float>, NameValue<String>, NameValue<Integer>, NameValue<Integer>>> currDataObjectSet = null;
ArrayList<Tuple8<NameValue<String>, NameValue<String>, NameValue<String>, NameValue<Integer>, NameValue<Float>, NameValue<String>, NameValue<Integer>, NameValue<Integer>>> newDataObjectSet = null;
try {
productDA = new ProductDA(filename, format);
currDataObjectSet = productDA.readDataSet();
} catch (AppException ex) {
success = false;
Logger.getLogger(CategoryManager.class.getName()).log(Level.SEVERE, ex.getMessage(), ex);
throw ex;
} finally {
productDA = null;
}
if (currDataObjectSet != null) {
newDataObjectSet = new ArrayList<Tuple8<NameValue<String>, NameValue<String>, NameValue<String>, NameValue<Integer>, NameValue<Float>, NameValue<String>, NameValue<Integer>, NameValue<Integer>>>();
for (int i = 0; i < currDataObjectSet.size(); i++) {
String productID = currDataObjectSet.get(i).getItem1().getValue();
String productName = currDataObjectSet.get(i).getItem2().getValue();
String productDescription = currDataObjectSet.get(i).getItem3().getValue();
Integer quantityAvailable = currDataObjectSet.get(i).getItem4().getValue();
Float productPrice = currDataObjectSet.get(i).getItem5().getValue();
String barcodeNumber = currDataObjectSet.get(i).getItem6().getValue();
Integer reorderQuantity = currDataObjectSet.get(i).getItem7().getValue();
Integer orderQuantity = currDataObjectSet.get(i).getItem8().getValue();
if (productID.equalsIgnoreCase(oldProduct.getProductID())) {
productID = newProduct.getProductID();
productName = newProduct.getProductName();
productDescription = newProduct.getProductDescription();
quantityAvailable = newProduct.getQuantityAvailable();
productPrice = newProduct.getProductPrice();
barcodeNumber = newProduct.getBarcodeNumber();
reorderQuantity = newProduct.getReorderQuantity();
orderQuantity = newProduct.getOrderQuantity();
}
NameValue<String> nmProductID = new NameValue<String>("ProductID", productID);
NameValue<String> nmProductName = new NameValue<String>("CategoryName", productName);
NameValue<String> nmProductDescription = new NameValue<String>("ProductDescription", productDescription);
NameValue<Integer> nmQuantityAvailable = new NameValue<Integer>("QuantityAvailable", quantityAvailable);
NameValue<Float> nmProductPrice = new NameValue<Float>("ProductPrice", productPrice);
NameValue<String> nmBarcodeNumber = new NameValue<String>("BarcodeNumber", barcodeNumber);
NameValue<Integer> nmReorderQuantity = new NameValue<Integer>("ReorderQuantity", reorderQuantity);
NameValue<Integer> nmOrderQuantity = new NameValue<Integer>("OrderQuantity", orderQuantity);
Tuple8<NameValue<String>, NameValue<String>, NameValue<String>, NameValue<Integer>, NameValue<Float>, NameValue<String>, NameValue<Integer>, NameValue<Integer>> dataObject = new Tuple8<NameValue<String>, NameValue<String>, NameValue<String>, NameValue<Integer>, NameValue<Float>, NameValue<String>, NameValue<Integer>, NameValue<Integer>>(nmProductID, nmProductName, nmProductDescription, nmQuantityAvailable, nmProductPrice, nmBarcodeNumber, nmReorderQuantity, nmOrderQuantity);
newDataObjectSet.add(dataObject);
}
try {
productDA = new ProductDA(filename, format);
productDA.writeDataSet(newDataObjectSet, false);
} catch (AppException ex) {
success = false;
Logger.getLogger(CategoryManager.class.getName()).log(Level.SEVERE, ex.getMessage(), ex);
throw ex;